ny860 又見01揹包

2021-07-10 05:29:21 字數 1138 閱讀 5019

時間限制:

1000

ms  | 

記憶體限制:

65535kb

難度:3

描述有n

個重量和價值分別為

wi 和

vi 的

物品,從這些物品中選擇總重量不超過w 

的物品,求所有挑選方案中物品價值總和的最大值。

1<= n <=100

1<= wi <= 10^7

1<= vi <= 100

1<= w <= 10^9

輸入

多組測試資料。

每組測試資料第一行輸入,n 和

w ,接下來有

n行,每行輸入兩個數,代表第

i個物品的

wi 和vi。

輸出

滿足題意的最大價值,每組測試資料佔一行。

樣例輸入

4 5
2 3
1 2
3 4
2 2

樣例輸出

7

注:該題與foj-2214 knapsack problem

相似

my  solution

/*2016.3.1*/

#include#include#includeusing namespace std;

int f[10010],w[110],v[110];

int main()

for(i=1;i<=n;i++)

for(j=k;j>=v[i];j--)

else

if(j==v[i])

} for(j=k;j>0;j--)

if(f[j]<=p&&f[j])

break;

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

} return 0;

}

nyoj 860 又見01揹包(01 揹包)

又見01揹包 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入 多組測試...

NYOJ 860 又見01揹包

很經典的一道揹包題目,一般情況,我們都是把揹包的容量作為陣列的變數,但是這一道題,揹包容量資料量太大了。10 9 把容量和價值進行互換 include iostream include stdio.h include string include cstring include cmath incl...

nyist 860 又見01揹包

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入多組測試資料。每組測試資...