题目描述
01背包
算法1
C语言代码
include[HTML_REMOVED]
define N 1010
int v[N],w[N],dp[N];
int max(int n,int m)
{
if(n>m)return n;
else return m;
}
int main()
{
int n,V;
scanf(“%d %d”,&n,&V);
for(int i=1;i<=n;i)
{
scanf(“%d %d”,&v[i],&w[i]);//v[i]第i个物品的体积。w[i]第i个物品的价值。
}
for(int i=1;i<=n;i)
{
for(int j=V;j>=v[i];j–)dp[j]=max(dp[j-v[i]]+w[i],dp[j]);
}
printf("%d",dp[V]);
return 0;
}