当前位置:编程学习 > C/C++ >>

HDOJ 2602 Bone Collector

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


[cpp] 
#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]); 
    }   www.zzzyk.com


作者:aacm1992
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,