時間限制:3000 ms | 記憶體限制:65535 kb
難度:3
描述 現在有很多物品(它們是可以分割的),我們知道它們每個物品的單位重量的價值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。
輸出輸出每組測試資料中揹包內的物品的價值和,每次輸出佔一行。
樣例輸入
1樣例輸出3 15
5 10
2 83 9
65#include#include#includeusing namespace std;
int s,m;
struct node
edge[1010];
int cmp(node s1,node s2)
int main()
{ int n;
scanf("%d",&n);
while(n--)
{ scanf("%d%d",&s,&m);
for(int i=0;i
NYOJ 106 揹包問題 貪心,水
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多物品 它們是可以分割的 我們知道它們每個物品的單位重量的價值v和重量w 1 v,w 10 如果給你乙個揹包它能容納的重量為m 10 m 20 你所要做的就是把物品裝到揹包裡,使揹包裡的物品的價值總和最大。輸入第一行輸入...
NYOJ 106題揹包問題
這道題典型的應用貪心演算法。不過有些不同的是這個題目已經告訴你單位價值了,所以我們不需要考慮計算單位價值最高的,從高到低的選擇了。我們現在所需要做的就是對單位價值進行排序,然後從高到底取物品,直到重量達到題目中告訴的揹包的w。想明白之後,思路也就很清晰了。sort排序,結構體或者二維陣列進行儲存資料...
NYOJ 106題揹包問題
這道題典型的應用貪心演算法。不過有些不同的是這個題目已經告訴你單位價值了,所以我們不需要考慮計算單位價值最高的,從高到低的選擇了。我們現在所需要做的就是對單位價值進行排序,然後從高到底取物品,直到重量達到題目中告訴的揹包的w。想明白之後,思路也就很清晰了。sort排序,結構體或者二維陣列進行儲存資料...