時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:4 描述
直接說題意,完全揹包定義有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。
第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包恰好裝滿揹包時,求出最大價值總和是多少。如果不能恰好裝滿揹包,輸出no
輸入
第一行: n 表示有多少組測試資料(n<7)。
接下來每組測試資料的第一行有兩個整數m,v。 m表示物品種類的數目,v表示揹包的總容量。(0輸出
對應每組測試資料輸出結果(如果能恰好裝滿揹包,輸出裝滿揹包時揹包內物品的最大價值總和。 如果不能恰好裝滿揹包,輸出no)
樣例輸入
21 52 2
2 52 2
5 1
樣例輸出
no
#include #include #includeint main ( )
{ int t;
scanf("%d",&t);
while(t--)
{int m,v,c[2001],w[20001],dp[50001],i,j;
// for(i=0;i<50001;i++)
// dp[i]=-0x3f3f3f3f;
memset(dp,-0x3f3f3f3f,sizeof(dp));
//printf("%d\n",dp[1]);
dp[0]=0;//不裝是為0
scanf("%d%d",&m,&v);
for(i=0; i
NYOJ 題目311 完全揹包(完全揹包,裝滿)
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 直接說題意,完全揹包定義 有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。第i種物品的體積是c,價值是w。求解將哪些物品裝入揹包可使這些物品的體積總和不超過揹包容量,且價值總和最大。本題要求是揹包 恰好裝滿揹包時,求出最...
soj 3300 揹包裝滿(完全揹包)
soj3300 stockholm coins 簡介題意 有n種硬幣,取錢,取多少才能把所有硬幣種類都取齊,即,每種至少取一枚的最少取得錢數是多少。分析 如果說把所有種類錢幣都取出來的最小值,那不就是所有幣種幣值之和嗎?題目中也沒說有其他面額的錢呀,或者紙幣啥的?所以預設滿足題意輸出sum就行了。然...
01揹包中揹包裝滿和不裝滿
揹包 有n 種不同的物品,每個物品有兩個屬性,v體積,c價值,現在給乙個體積為 m 的揹包,問 最多可帶走多少價值的物品。狀態轉移方程 dp i j max dp i 1 j dp i 1 j v i c i dp i 1 j 表示不放第i件物品的最大價值,dp i 1 j v i c i 表示放第...