//可拆揹包問題,c741
#include #define n 100
void
main()
for(i=1;i<=n-1;i++) //
對n件物品按單位重量的效益從大到小排序
for(j=i+1;j<=n;j++)
if(p[i]/w[i]w[j])
cw=c;s=0; //
cw為揹包還可裝的重量
for(i=1;i<=n;i++)
x[i]=(float)(cw/w[i]); //
若w(i)>cw,裝入一部分x(i)
s=s+p[i]*x[i];
printf(
"裝包:
"); //
輸出裝包結果
for(i=1;i<=n;i++)
if(x[i]<1) break;
else
printf(
"\n 裝入重量為%5.1f效益為%5.1f的物品.
",w[i],p[i]);
if(x[i]>0 && x[i]<1
) printf(
"\n 裝入重量為%5.1f效益為%5.1f的物品百分之%5.1f.
",w[i], p[i],x[i]*100
);printf(
"\n 所得最大效益為:%7.1f
揹包問題(貪心演算法)
揹包問題 程式8 4 2.cpp 定義控制台應用程式的入口點。揹包問題 貪心演算法 include stdafx.h define maxnumber 20 typedef struct node object float find object wp,int n,float m i 0 while...
貪心演算法 揹包問題
詳細見原帖 我寫的是自己的感悟 揹包問題 有乙個揹包,揹包容量是m 150。有7個物品,物品可以分割成任意大小。要求盡可能讓裝入揹包中的物品總價值最大,但不能超過總容量。物品 a b c d e f g 重量 35 30 60 50 40 10 25 價值 10 40 30 50 35 40 30 ...
貪心演算法 揹包問題
貪心演算法 當前最優解 例如在刪除數的乙個例子中,乙個長度不大於240位的整數中,隨機刪除n個數,要求使得剩餘的數 從左到右的,組成乙個最小的整數 貪心步驟 例如 乙個數 1457326 n 4 1 找到當前最大的數 7 刪除 145326 2 找到當前最大的數 6 刪除 14532 3 找到當前最...