HDU 2602

来源:互联网 发布:zip手机解压软件 编辑:程序博客网 时间:2024/05/02 06:10
//0-1背包,错误原因没有考虑j=0的情况//背包的容量可以为0 #include<iostream>using namespace std;int t,N,V;int value[1005];int volume[1005];int f[1005];int i,j;int max(int a,int b){    return a>b?a:b;}int main(){    cin>>t;    while(t--){        cin>>N>>V;        for(i=1;i<=N;i++)            cin>>value[i];        for(i=1;i<=N;i++)            cin>>volume[i];        memset(f,0,sizeof(f));        for(i=1;i<=N;i++)           for(j=V;j>=0;j--){               if(j-volume[i]>=0){                   f[j]=max(f[j],f[j-volume[i]]+value[i]);               }                             }                              cout<<f[V]<<endl;        system("pause");    }    return 0;    }