首页 > 代码库 > hdu 2602 Bone Collector

hdu 2602 Bone Collector

开始变量竟然输反了敲打
#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;
}