栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

背包问题/C语言/算法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

背包问题/C语言/算法

#include
#include
#define N 100
#define MAX(a,b) a using namespace std;

struct goods{
    int wight;
    int value;
    
};

int n,bestValue,cv,cw,c;
int X[N],cx[N];
  struct goods goods[N];

   int KnapSack(int n,struct goods a[],int Cint x[])
{
    int V[N][N+1];
    
    for (int i=1;i<=n;i++)
       for(int j=1;j<=c;j++)
         if(j             V[i][j]=V[i-1][j];
     else
            V[i][j]=MAX(V[i-1][j],v[i-1][j-a[i-1].wight]+a[i-1].value);

for(int i=n,j=c;i>0;i--)
{
    if(V[i][j]>V[i-1][j])
    {
        x[i-1]=1;
        j=j-a[i-1].wight;
        
    }
    else
        x[i-1]=0; 
    }    
    return V[n][c];
}
int main()
{
    printf("物品种类n:");
    scanf("%d",&n);
    printf("背包容量C:");
    scanf("%d",&C);
    for(int i=0;i     {
        printf("物品%对的重量w[%d]及其价值V[%d]:",i+,i+1,i+1);
        scanf("%d%d",&goods[i].wight,&goods[i].value);
        
        
    }
}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/589063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号