2 01揹包問題

2021-10-08 19:47:42 字數 684 閱讀 3914

有 nn 件物品和乙個容量是 vv 的揹包。每件物品只能使用一次。

第 ii 件物品的體積是 vivi,價值是 wiwi。

求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。

輸出最大價值。

輸入格式

第一行兩個整數,n,vn,v,用空格隔開,分別表示物品數量和揹包容積。

接下來有 nn 行,每行兩個整數 vi,wivi,wi,用空格隔開,分別表示第 ii 件物品的體積和價值。

輸出格式

輸出乙個整數,表示最大價值。

資料範圍

0輸入樣例

4 5

1 22 4

3 44 5

輸出樣例:

8
#include #include #include using namespace std;

const int n = 1010;

int vol[n];

int val[n];

int f[n][n];

/*二維陣列形式

int main()

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

}cout<=0;j--)}}

cout

}

2 01揹包問題

有 nn 件物品和乙個容量是 vv 的揹包。每件物品只能使用一次。第 ii 件物品的體積是 vivi,價值是 wiwi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。第一行兩個整數,n,vn,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 nn 行,每...

AcWing 2 01揹包問題

題目描述 有 n 件物品和乙個容量是 v的揹包。每件物品只能使用一次。第 i件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n行,每行兩個整...

acwing 2 01揹包問題

有 n 件物品和乙個容量是 v的揹包。每件物品只能使用一次。第 i件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n行,每行兩個整數 vi,w...