動態規劃 揹包問題(c語言)

2022-09-05 02:45:13 字數 736 閱讀 3459

/*

揹包問題:

揹包所能容納重量為10;共五件商品,商品重量用陣列m儲存m[5]=,

每件商品的價值用陣列n儲存,n[5]=;求揹包所能裝物品的最大價值。

*/#include

#include

intmain() , n[5] = ;

int flag[5] = ;//

符號標誌位,表示地某個點是否裝入揹包,裝入為1,未裝入為0;

inti, j, k;

int c = 10, sum1 = 0, sum2 = 0;//

sum1表示最終揹包容納的重量。sum2表示最終揹包中容納的最大價值的價值。

//設乙個二維陣列,橫座標表示所裝物品的標號,縱座標表示揹包所容納的最大重量0~10;

int mn[5][11

];

for (i = 4; i >= 0; i--)

else

else}}

}for (i = 0; i<5; i++)

printf(

"%d

", flag[i]);

}//輸出所放入的物品序號

for (i = 0; i<5; i++)

}printf(

"\n揹包容納的重量為:%d 揹包容納的總價值為:%d

", sum1, sum2);

getch();

return0;

}

動態規劃 揹包問題

給定n個物品,重量是,價值是,包的容量 承重 是w 問,放入哪些物品能使得包內價值最大 1 需要將問題轉化為子問題,通過遞迴實現,且子問題必然與父問題存在關聯 2 定義v i,j 表示為,當item取自前i個items且揹包capacity j 時,揹包問題的最優解,也即最高的價值。3 從前i個it...

動態規劃 揹包問題

不廢話,直接上 動態規劃,揹包問題。輸入為 int n 物品的種類數。int n weight 各件物品的重量。int n value 各種物品的價值。int w 揹包最大的裝載重量。輸出 v n b 的值,最大的裝載價值。x n 各類物品的裝載數量。author huangyongye publi...

動態規劃 揹包問題

1 開心的金明 問題描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n 元錢就行 今天一早金明就開始做預算,但是他想買的東西太多了,肯定會超過媽媽限定的n 元。於是,他把每...