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; }