题目链接
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
代码如下
#include <bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
int value[1000];
//价值
int weight[1000];
int num[1000];
int dp[1000000];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
mem(dp,0);
int n,m;
scanf("%d%d",&n,&m);
for(int i=0; i<m; i++)
scanf("%d%d%d",&value[i],&weight[i],&num[i]);
for(int i=0; i<m; i++)
for(int j=1; j<=num[i]; j++)
for(int k=n; k>=value[i]; k--)
dp[k]=max(dp[k],dp[k-value[i]]+weight[i]);
printf("%d\n",dp[n]);
}
return 0;
}