有 nn 種物品和乙個容量是 vv 的揹包。
第 ii 種物品最多有 sisi 件,每件體積是 vivi,價值是 wiwi。
求解將哪些物品裝入揹包,可使物品體積總和不超過揹包容量,且價值總和最大。
輸出最大價值。
第一行兩個整數,n,vn,v,用空格隔開,分別表示物品種數和揹包容積。
接下來有 nn 行,每行三個整數 vi,wi,sivi,wi,si,用空格隔開,分別表示第 ii 種物品的體積、價值和數量。
輸出乙個整數,表示最大價值。
0
#includeusingnamespace
std;
const
int n = 105
;int
w[n],v[n],s[n];
intdp[n];
intmain()}}
cout
<< dp[m] <}
多重揹包問題 I
有 n 種物品和乙個容量是 v 的揹包。第 i 種物品最多有 si 件,每件體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使物品體積總和不超過揹包容量,且價值總和最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品種數和揹包容積。接下來有 n 行,每行三個整數 vi...
多重揹包問題 I
有 n 種物品和乙個容量是 v 的揹包。第 i 種物品最多有 si 件,每件體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使物品體積總和不超過揹包容量,且價值總和最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品種數和揹包容積。接下來有 n 行,每行三個整數 vi...
多重揹包問題I
有 n 種物品和乙個容量是 v 的揹包。第 i 種物品最多有 si 件,每件體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使物品體積總和不超過揹包容量,且價值總和最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品種數和揹包容積。接下來有 n 行,每行三個整數 vi...