题意:一介屌丝喜欢收集各种骷髅头,每个骷髅头都一个体积和价值,这个屌丝有一个袋子体积为V,唉,穷屌丝比较贪,他想收集各种骷髅头放到他的袋子中,要求获得的利润最大。并让你
把这个最大利润求出来。
#include<stdio.h>
int weight[1010];
int value[1010];
int dp[1010];
int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
int T;
int N,V;
int sum;
int tem;
scanf("%d",&T);
while(T--)
{
sum=0;
scanf("%d%d",&N,&V);
for(int i=0; i<N; i++)
scanf("%d",&value[i]);
for(int i=0; i<N; i++)
{
scanf("%d",&weight[i]);
}
for(int i=0; i<=V; i++)
dp[i]=0;
for(int k=0; k<N;k++)
for(int j=V;j>=weight[k];j--)
{
dp[j]=max(dp[j],dp[j-weight[k]]+value[k]);
}
printf("%d\n",dp[V]);
}
return 0;
}
把这个最大利润求出来。