首页 > 其他 > 详细

0-1背包

时间:2014-07-30 14:43:03      阅读:286      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>
#include <string.h>
int f[1001][1001];
int c[1001];
int w[1001];
int N,V;
int main()
{
    int t;
    int i,j;
    scanf("%d",&t);
    while(t--)
    {
        memset(f,0,sizeof(f));
        scanf("%d%d",&N,&V);
        for(i = 1;i<=N;i++)
        {
            scanf("%d",&w[i]);
        }
        for(i = 1;i<=N;i++)
        {
            scanf("%d",&c[i]);
        }
        for(i = 1;i<=N;i++)
        {
            for(j = 0;j<=V;j++)
            {
                if(j>=c[i])
                {
                    if(f[i-1][j]<f[i-1][j-c[i]] + w[i])
                    {
                        f[i][j] = f[i-1][j-c[i]] + w[i];
                    }
                    else
                    {
                        f[i][j] = f[i-1][j];
                    }
                }
                else
                    f[i][j] = f[i-1][j];
            }
        }
        printf("%d\n",f[N][V]);
    }
}

0-1背包,布布扣,bubuko.com

0-1背包

原文:http://www.cnblogs.com/yangyongqian/p/3877986.html

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