XYNUOJ 揹包問題

2021-08-21 20:48:20 字數 733 閱讀 9470

時間限制: 3 sec  記憶體限制: 64 mb

提交: 70  解決: 49

您該題的狀態:已完成

現在有很多物品(它們是可以分割的),我們知道它們每個物品的單位重量的價值v和重量w(1<=v,w<=10);如果給你乙個揹包它能容納的重量為m(10<=m<=20),你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。

第一行輸入乙個正整數n(1<=n<=5),表示有n組測試資料; 隨後有n測試資料,每組測試資料的第一行有兩個正整數s,m(1<=s<=10);s表示有s個物品;m表示此揹包能容納的重量。接下來的s行每行有兩個正整數v,w。

輸出每組測試資料中揹包內的物品的價值和,每次輸出佔一行。

1

3 15

5 10

2 83 9

65
**如下:                                      

#include#include#includeusing namespace std;

struct stua[105];

int cmp(stu x,stu y)//按降序排序

int main()

else if(m}

printf("%d\n",sum);

} return 0;

}

XYNUOJ 1435 混合揹包

時間限制 1 sec 記憶體限制 128 mb 提交 8 解決 8 提交 狀態 討論版 乙個旅行者有乙個最多能用v公斤的揹包,現在有n件物品,它們的重量分別是w1,w2,wn,它們的價值分別為c1,c2,cn。有的物品只可以取一次 01揹包 有的物品可以取無限次 完全揹包 有的物品可以取的次數有乙個...

揹包問題 01揹包問題

n個物品,總體積是v,每個物品的體積的vi,每個物品的最大價值是wi,在不超過v的體積下求最大價值 eg揹包容積為 5 物品數量為 4 物品的體積分別為 物品的價值分別為 思路定義乙個二位陣列int f new int n 1 v 1 f i j 就表示在1 i個物品中選取體積小於v的情況的最大價值...

01揹包問題 完全揹包問題 多重揹包問題

0 1 揹包問題 給定 n 種物品和乙個容量為 c 的揹包,物品 i 的重量是 wi,其價值為 vi 問 應該如何選擇裝入揹包的物品,使得裝入揹包中的物品的總價值最大?分析一波,面對每個物品,我們只有選擇拿取或者不拿兩種選擇,不能選擇裝入某物品的一部分,也不能裝入同一物品多次。解決辦法 宣告乙個 大...