HDOJ 2602 Bone Collector

来到实验室看见学长写的早起一水,做了DP

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


你可能感兴趣的:(HDOJ 2602 Bone Collector)