2013寒假练习 1013:Bone Collector

来源:互联网 发布:spycall软件免费下载 编辑:程序博客网 时间:2024/05/22 06:59

地址:http://acm.bit.edu.cn/mod/programming/view.php?id=664

01背包~WA了一次因为输入的两行写反了。。反了。。了。。

今次用的是一维数组写法。

#include<iostream>using namespace std;int v[1005],r[1005],dp[1005];int main(){int t,n,b,i,j;scanf("%d",&t);while(t--){memset(dp,0,sizeof(dp));scanf("%d%d",&n,&b);for(i=1;i<=n;i++) scanf("%d",&r[i]);for(i=1;i<=n;i++) scanf("%d",&v[i]);for(i=1;i<=n;i++){for(j=b;j>=0;j--){if(j>=v[i]) dp[j]=dp[j-v[i]]+r[i]>dp[j]?dp[j-v[i]]+r[i]:dp[j];}}printf("%d\n",dp[b]);}return 0;}


 

原创粉丝点击