1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 #include <cstring> 5 #include <algorithm> 6 #include <queue> 7 #include <stack> 8 #include <vector> 9 using namespace std; 10 int main(int argc, char *argv[]) 11 { 12 int t,n,m,sl[200],jg[200],zl[200],dp[200],d[200]; 13 scanf("%d",&t); 14 while(t--) 15 { 16 scanf("%d%d",&n,&m); 17 for(int i=0;i<m;i++) 18 scanf("%d%d%d",&jg[i],&zl[i],&sl[i]); 19 20 memset(dp,0,sizeof(dp)); 21 for(int i=0;i<m;i++) 22 { 23 for(int k=0;k<sl[i];k++) 24 { 25 for(int j=n;j>=jg[i];j--) 26 { 27 dp[j]=max(dp[j],dp[j-jg[i]]+zl[i]); 28 } 29 } 30 31 } 32 printf("%d\n",dp[n]); 33 } 34 return 0; 35 }
HDOJ 2191(多重背包)
猜你喜欢
转载自www.cnblogs.com/huluxin/p/9656101.html
今日推荐
周排行