背包问题的话y总频道有个视频的,可以去看看
本题代码如下
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAXN 1010
using namespace std;
int n,m,f[MAXN];
int main()
{
cin>>n>>m;
int s,v,w;
for (int i=1;i<=n;i++)
{
cin >> v >> w >> s;
for (int j=m; j>=v;j--)
{
for(int k=1;k<=s&&k*v<=j;k++)
{
f[j]=max(f[j],f[j-k*v]+k*w);
}
}
}
cout << f[m] << endl;
return 0;
}