現在有很多物品(它們是可以分割的),我們知道它們每個物品的單位重量的價值v和重量w(1<=v,w<=10);如果給你乙個揹包它能容納的重量為m(10<=m<=20),你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。
第一行輸入乙個正整數n(1<=n<=5),表示有n組測試資料;隨後有n測試資料,每組測試資料的第一行有兩個正整數s,m(1<=s<=10);s表示有s個物品。接下來的s行每行有兩個正整數v,w。
輸出每組測試資料中揹包內的物品的價值和,每次輸出佔一行。
複製
13 15
5 10
2 83 9
複製
65
無
這又是一道貪心。。。
其實這道題的思路很簡單
就是先對每個物品的單位重量的價值v進行從大到小排序,然後一直加到書包的最大承受重量
我覺得這道題主要是練習貪心的思維和結構體還有排序,也是一道水題吧。
**如下:
#include#includeusing namespace std;
struct pe
a[1005];
bool cmp(pe a,pe b)
int main()}}
printf("%d\n",ans);
}return 0;
}
nyoj 揹包問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多物品 它們是可以分割的 我們知道它們每個物品的單位重量的價值v和重量w 1 v,w 10 如果給你乙個揹包它能容納的重量為m 10 m 20 你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。輸入 第一行輸...
NYOJ 揹包問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多物品 它們是可以分割的 我們知道它們每個物品的單位重量的價值v和重量w 1 v,w 10 如果給你乙個揹包它能容納的重量為m 10 m 20 你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。輸入第一行輸入...
NYOJ 揹包問題(貪心)
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多物品 它們是可以分割的 我們知道它們每個物品的單位重量的價值v和重量w 1 v,w 10 如果給你乙個揹包它能容納的重量為m 10 m 20 你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。輸入第一行輸入...