pku百练 2727 0-1背包

来源:互联网 发布:云计算在生活中的应用 编辑:程序博客网 时间:2024/04/30 09:26

d[ i ] [ j ]表示把第 i,i+1,i+2,。。。n个物品装到剩余容量为 j 的背包中的最大重量。

#include<stdio.h>int v[105],w[105],d[105][1005];int main(){  int i,j,t,n;  scanf("%d%d",&t,&n);  for(i=1;i<=n;i++)    scanf("%d%d",&v[i],&w[i]);   for(i=n;i>=1;i--)    for(j=0;j<=t;j++)    {      if(i==n) d[i][j]=0;//第i个物品不放时d[i][j]的值      else        d[i][j]=d[i+1][j];      if(j>=v[i])        / /第i个物品放时d[i][j]的值        if(d[i][j]<d[i+1][j-v[i]]+w[i])          d[i][j]=d[i+1][j-v[i]]+w[i];    }  printf("%d",d[1][t]);  system("pause");  return 0;}      


原创粉丝点击