标签:
Input400
果题
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int v,n;
int p[110],w[110],c[110];
int dp[110];
int main()
{
int _;
scanf("%d",&_);
while(_--){
scanf("%d%d",&v,&n);
memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++) scanf("%d%d%d",&p[i],&w[i],&c[i]);
for(int i=1;i<=n;i++){
for(int k=1;c[i]>0;k<<=1){
int mul=min(k,c[i]);
for(int j=v;j>=p[i]*mul;j--) dp[j]=max(dp[j],dp[j-p[i]*mul]+w[i]*mul);
c[i]-=mul ;
}
}
printf("%d\n",dp[v]);
}
return 0;
}
2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包 水)
标签:
原文地址:http://blog.csdn.net/kalilili/article/details/44467597