0-1背包问题c语言代码,01背包问题动态规划详解及c代码

《01背包问题动态规划详解及c代码》由会员分享,可在线阅读,更多相关《01背包问题动态规划详解及c代码(5页珍藏版)》请在人人文库网上搜索。

1、0/1背包问题动态规划详解及 C+弋码1问题描述给定一个载重量为C的背包有n个物品其重量为wi价值为vi 1j第i个物品不装入背包否则 若wiv=j且第i个物品装入背包后的价值ci-1j则记录当前最大 价值替换为第i个物品装入背包后的价值其C+弋码如下#in cludeusing n amespace std;void KANPSACK_DP( int c5050, i nt w50, i nt v50, i nt n, i nt C)for(i nt i = 0; i ci - 1j)cij = vi + ci - 1j - wi;else cij = ci - 1j;else cij = 。

2、ci - 1j;void OUTPUT_SACK(int c5050, int x50, int w50, int n, int C)for(int k = n; k = 2; k -)if(ckC = ck-1C)xk = 0;else xk = 1;C = C - wk;x1 = c1C ? 1 : 0;int mai n()in t c5050;int w50,v50;int x50;int C,n;cout输入物品的总个数;cinn;coutvv输入背包的总容量;cin C;coutvv依次输入物品的重量 wi;3 / 5coutvv依次输入物品的价值 vi;KANPSACK_DP(c, w, v, n, C);OUTPUT_SACK(c, x, w, n, C);coutvv最优解为e ndl;for(i nt i = 1; i = n; i +)coutxivv;coutvve ndlvv最大容量为e ndl;coutvvc n Cve ndl;system(pause); return 0;运行结果如下输入物品的总个数5输入背包的总容量10依次输入物品的重量2 2 6 5 4# / 5依次输入物品的价值6 3 5 4 6最优解为11001最大容量为 15 请按任意键继续.5 / 5。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值