有n
'>n件物品和乙個容量是v
'>v的揹包。每件物品只能使用一次。
第i'>i件物品的體積是 v
i'>vi,價值是 w
i'>wi。
求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。
輸出最大價值。
輸入格式
第一行兩個整數,n,v
'>n,v
n,v,用空格隔開,分別表示物品數量和揹包容積。
接下來有 n
'>n
n 行,每行兩個整數 vi,
wi'>vi,wi
vi,wi,用空格隔開,分別表示第 i
'>i
i 件物品的體積和價值。
輸出格式
輸出乙個整數,表示最大價值。
資料範圍
0v≤1000
'>000,wi≤
1000
'>00輸入樣例
4 5
1 22 4
3 44 5
輸出樣例:8
#include#includeusing
namespace
std;
const
int maxn = 1005
;int w[maxn]; //
重量 int v[maxn]; //
價值 int f[maxn][maxn]; //
f[i][j], j重量下前i個物品的最大價值
intmain()
cout
}
AcWing 2 01揹包問題
題目描述 有 n 件物品和乙個容量是 v的揹包。每件物品只能使用一次。第 i件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n行,每行兩個整...
acwing 2 01揹包問題
有 n 件物品和乙個容量是 v的揹包。每件物品只能使用一次。第 i件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n行,每行兩個整數 vi,w...
acwing 2 01揹包問題
有 n 件物品和乙個容量是 v 的揹包。每件物品只能使用一次。第 i 件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n 行,每行兩個整數 ...