标签:str cout 多重背包 ace std 完全背包 code 背包 break
#include<iostream> #include<algorithm> using namespace std; int v[6002],w[6002],s[6002],f[6002],n,m; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) cin>>v[i]>>w[i]>>s[i]; for(int i=1;i<=n;i++) for(int j=m;j>=0;j--) for(int k=0;k<=s[i];k++){ if(j-k*v[i]<0) break; f[j]=max(f[j],f[j-k*v[i]]+k*w[i]); } cout<<f[m]; return 0; }
其实和完全背包有点相似,
只是多了一个数量的限制,
ps:我太蒻了qwq
标签:str cout 多重背包 ace std 完全背包 code 背包 break
原文地址:https://www.cnblogs.com/sxy2004/p/12236050.html