呵呵 • 3年前
using namespace std; //dp代码 int v,n,cnt=0; int w[101][1001],f[101][1001],z[101][1001]; int main() { cin>>v>>n; for(int i=1; i<=n; i++) {
int a,b,c;
cin>>a>>b>>c;
z[c][++z[c][0]]=a;
w[c][z[c][0]]=b;
cnt=max(cnt,c);
} for(int i=1; i<=cnt; i++)
for(int j=0; j<=z[i][0]; j++)
for(int k=v; k>=z[i][j]; k--)
f[i][k]=max(f[i-1][k],max(f[i][k],f[i-1][k-z[i][j]]+w[i][j]));
cout<<f[cnt][v]; return 0; } /46 3 10 10 1 10 6 1 60 300 2/
评论: