設有n 種物品,每種物品有乙個重量及乙個價值。但每種物品的數量是無限的,同時有乙個揹包,最大載重量為m ,今從n 種物品中選取若干件(同一種物品可以多次選取) ,使其重量的和小於等於m ,而價值的和為最大。
第一行:兩個整數,m(揹包容量,m<=200)和n(物品數量,n<=30) ;第2..n+1 行:每行二個整數wi,ui ,表示每個物品的重量和價值。
僅一行,乙個數,表示最大總價值,格式如樣例。
10 4 2 1 3 3 4 5 7 9
max=12
#includeusing namespace std;int main()
; int w[31],c[31];
for(int i=1;i<=n;i++)
for(int i=1;i<=n;i++)
for(int v=w[i];v<=m;v++)
if(s[v-w[i]]+c[i]>s[v])s[v]=s[v-w[i]]+c[i];
cout<<"max="
}
01揹包模板 完全揹包 and 多重揹包(模板)
模版就直接貼 01揹包模板 cpp view plain copy print?01揹包問題 01揹包問題的特點是,每種物品僅有一件,可以選擇放或不放。01揹包問題描述 有n件物品和乙個容量為v的揹包。第i件物品的重量是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的重量總和不超過揹包容量...
01揹包模板 完全揹包 and 多重揹包(模板)
01揹包模板 01揹包問題 01揹包問題的特點是,每種物品僅有一件,可以選擇放或不放。01揹包問題描述 有n件物品和乙個容量為v的揹包。第i件物品的重量是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的重量總和不超過揹包容量,且價值總和最大。include define n 1050017...
01揹包模板 全然揹包 and 多重揹包(模板)
模版就直接貼 01揹包模板 01揹包問題 01揹包問題的特點是,每種物品僅有一件。能夠選擇放或不放。01揹包問題描寫敘述 有n件物品和乙個容量為v的揹包。第i件物品的重量是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的重量總和不超過揹包容量,且價值總和最大。include define ...