#include<stdio.h> #include<string.h> int dp[1002]; struct none { int vo; int value; }a[1002]; int max(int a,int b) {return a>b?a:b;} int main() { int N,V,T,i,j; scanf("%d",&T); while(T--) { scanf("%d%d",&N,&V); memset(dp,0,sizeof(dp)); for(i=0;i<N;i++) scanf("%d",&a[i].value); for(i=0;i<N;i++) scanf("%d",&a[i].vo); for(i=0;i<N;i++) for(j=V;j>=a[i].vo;j--) dp[j]=max(dp[j],dp[j-a[i].vo]+a[i].value); printf("%d\n",dp[V]); } return 0; }
hdu 2602 Bone Collector,布布扣,bubuko.com
原文地址:http://blog.csdn.net/lihaogegehuting/article/details/38094003