您的位置:首页 > 其它

HDU 2602 Bone Collector

2012-08-29 20:38 183 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2602

水题一道,依旧是0/1背包的问题。。。加深理解O(∩_∩)O~

View Code

#include <iostream>
#define maxn 1005
using namespace std;
long ans[maxn], v[maxn], w[maxn];
int main()
{
long t, n, m, i,j;
cin >> t;
while(t--)
{
cin >> n >> m;
for(i = 0; i < n; i++)
cin >> w[i];
for(i = 0; i < n; i++)
cin >> v[i];
for(i = 0; i <= m; i++)
ans[i] = 0;
for(i = 0; i < n; i++)
for(j = m; j >= v[i]; j--)
if(ans[j-v[i]] + w[i] > ans[j])
ans[j] = ans[j-v[i]]+w[i];
cout << ans[m]<< endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: