背包探索之多重背包

来源:互联网 发布:网络人旗舰版破解版 编辑:程序博客网 时间:2024/06/15 05:28
#include<stdio.h>#include<string.h>int max(int a,int b){if(a>b)return a;elsereturn b;}int main(){int f[1005];int num[1005];int c[1005];int w[1005];int i,j,k,v,m;int T;scanf("%d",&T);while(T--){scanf("%d%d",&v,&m);memset(f,0,sizeof(f));for(i=1;i<=m;i++)scanf("%d%d%d",&c[i],&w[i],&num[i]);for(i=1;i<=m;i++)for(k=1;k<=num[i];k++)for(j=v;j>=c[i];j--)f[j]=max(f[j],f[j-c[i]]+w[i]);//这行一直写成f[j]=max(f[j],f[j-k*c[i]]+k*w[i]);造成WA 哎printf("%d\n",f[v]);}return 0;}

原创粉丝点击