HDU_2191_多重背包
Posted 冷暖知不知
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU_2191_多重背包相关的知识,希望对你有一定的参考价值。
http://acm.hdu.edu.cn/showproblem.php?pid=2191
简单多重背包题。
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,p[105],h[105],c[105],ans[105]; int main() { int T; cin >> T; while(T--) { memset(ans,0,sizeof(ans)); cin >> n >> m; for(int i = 1;i <= m;i++) cin >> p[i] >> h[i] >> c[i]; for(int i = 1;i <= m;i++) { for(int j = 1;j <= c[i];j++) { for(int k = n;k >= p[i];k--) ans[k] = max(ans[k],ans[k-p[i]]+h[i]); } } cout << ans[n] << endl; } return 0; }
以上是关于HDU_2191_多重背包的主要内容,如果未能解决你的问题,请参考以下文章