hdu 2602 Bone Collector--DP

来源:互联网 发布:网络借贷平台排行 编辑:程序博客网 时间:2024/04/30 04:08
/*简单的0-1背包问题刚开始感觉f[0]一般不会被赋值,也就没初始化它但是数据有点叼,居然有体积为0价值不为0的骨头这样f[0]就被赋值了若不每次都初始化,后面的测试实例一上来,f[0]就有一非0值*/#include<stdio.h>int c[1100],w[1100],f[1100];int main(){int t,n,v,i,j;scanf("%d",&t);while(t--){scanf("%d%d",&n,&v);for(i=0;i<=v;i++)f[i]=0;for(i=0;i<n;i++)scanf("%d",&w[i]);for(i=0;i<n;i++)scanf("%d",&c[i]);for(i=0;i<n;i++){for(j=v;j>=c[i];j--){if((f[j-c[i]]+w[i])>f[j])f[j]=f[j-c[i]]+w[i];}}printf("%d\n",f[v]);}return 0;}