1 8 2 2 100 4 4 100 2
#include<stdio.h> #include<string.h> int max(int a,int b) { return a>b?a:b; } int main () { int t; int n,m,i; int p[105],h[105],c[105],s[105]; scanf("%d",&t); while(t--) { memset(s,0,sizeof(s)); scanf("%d%d",&n,&m); for(i=1;i<=m;i++) scanf("%d%d%d",&p[i],&h[i],&c[i]); for(i=1;i<=m;i++) for(int j=1;j<=c[i];j++) for(int k=n;k>=p[i];k--) s[k]=max(s[k-p[i]]+h[i],s[k]); printf("%d\n",s[n]); } return 0; }
杭电 2191 珍惜现在,感恩生活,布布扣,bubuko.com
原文地址:http://blog.csdn.net/hanhai768/article/details/25748839