首页 > 其他 > 详细

动态规划法求解0-1背包

时间:2014-06-27 18:38:02      阅读:315      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>

int c[10][100];
int w[10],p[10],x[10];

int RUN(int m,int n)
{
    int i,j;
    for(i=1;i<n+1;i++)
        for(j=1;j<m+1;j++)
        {
            if(w[i]<=j)
            {
                if(p[i]+c[i-1][j-w[i]]>c[i-1][j])
                    c[i][j]=p[i]+c[i-1][j-w[i]];
                else
                    c[i][j]=c[i-1][j];
            }
            else c[i][j]=c[i-1][j];
        }
    printf("背包最大价值 %d\n",c[n][m]);
}

int main()
{
    int n,W;
    int i,j,s;
    for(i=0;i<10;i++) 
        for(j=0;j<100;j++) 
            c[i][j]=0;
    scanf("%d%d",&n,&W);//商品数量 背包容量 
    for(i=1;i<n+1;i++)
        scanf("%d%d",&w[i],&p[i]);//重量 价值 
    RUN(W,n);
}

 

动态规划法求解0-1背包,布布扣,bubuko.com

动态规划法求解0-1背包

原文:http://www.cnblogs.com/suthui/p/3809753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!