参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int v[1001],w[1001],s[1001],f[1001][1001],i,j,k,n,m;
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)cin>>v[i]>>w[i]>>s[i];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
for(k=0;k<=s[i];k++)
if(j>=k*v[i]){
f[i][j]=max(f[i][j],f[i-1][j-k*v[i]]+k*w[i]);
}
cout<<f[n][m]<<endl;
}
没事了,我刚刚一不小心在多重背包2里交了一下