0 1 背包问题

原创 2016年08月28日 21:55:40


 


#include<stdio.h>

int f[10][100];  
int  package(int *w,int *v,int n,int c)  

    int i,j;  
    for(i=1;i<=n;i++)  
        f[i][0] = 0;  
    for(j=1;j<=c;j++)  
        f[0][j] = 0;      
      
    for(i=1;i<=n;i++)  
    {  
        for(j=1;j<=c;j++)  
        {  
            if(w[i] <= j && f[i-1][j-w[i]] + v[i] > f[i-1][j])  
            {  
                f[i][j] = f[i-1][j-w[i]] + v[i];              
            }else  
                f[i][j] = f[i-1][j];  
        }  
    }     
    return f[n][c];  
}  


int main()
{
    int i,j;
    int m,n;
    scanf("%d %d",&m,&n);
    int g[100];
    int value[100];
    for(i = 1 ;i<= n;i++)
    {
        scanf("%d",&g[i]);
    }


    for(i = 1 ;i<= n;i++)
    {
        scanf("%d",&value[i]);
    }


    int SumValue = package(g,value,n,m);
   
    float cat = SumValue * 0.1;
    printf("%.1f\n",cat);   
}



0-1背包问题 全

  • 2015年05月23日 17:00
  • 618KB
  • 下载

0/1背包问题

  • 2015年04月27日 10:06
  • 51KB
  • 下载

0-1背包问题的两种动态规划算法思想

动态规划有两种基本思路,一种是自顶而下的备忘录算法,一种思路是自底向上的动态规划算法。...

0—1背包问题

  • 2014年11月27日 09:07
  • 3KB
  • 下载

0-1背包问题

  • 2015年10月17日 22:08
  • 1KB
  • 下载

经典算法之0-1背包问题

0-1背包算法是非常经典的一个算法问题,可惜我一直都只会它的递归算法,而非递归算法是今天刚刚学会的,在此记录一下。 定义一个二维数组 maxValues[ ][ ] 用来记录最大价值,maxValue...

0-1背包问题

  • 2014年11月28日 11:17
  • 576KB
  • 下载

0 -1背包问题c++实现

  • 2013年05月05日 15:58
  • 28KB
  • 下载

0/1背包问题动态规划 空间复杂度是o(C)

有num个物品,总背包容量为Capacity, 求不超过背包总容量的前提下使得背包里的物品的价值达到最大的物品是哪些物品。 对于每个物品,只有两种选择,要么装要么不装进背包。 那么在考虑前 i 个...

0-1背包问题

  • 2013年06月23日 17:04
  • 608KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:0 1 背包问题
举报原因:
原因补充:

(最多只允许输入30个字)