首页
学习
活动
专区
圈层
工具
发布

野牛程序员讲少儿编程之——多重背包问题(C++版)

野牛程序员讲少儿编程之——多重背包问题(C++版)

9周年啦!感谢这座城市的每一份信任!

宜宾市野牛网络科技有限公司走过了整整九个年头,感谢一路陪伴的客户、朋友、合作伙伴,是这份信任让我们不断进步、不断成长!

未来会更好,服务会更稳,技术会更强——

一起奔向下一个精彩的九年!

🧐 什么是多重背包?

前面学的:

0-1背包:每种物品只能拿一次

完全背包:每种物品可以拿无限次

多重背包呢?

就是每种物品可以拿有限次数

比如,小熊饼干店限购,每人最多买5包,不能全搬走哦!

一句话总结

每种物品的数量是有限制的

看C++代码(附超详细注释)

🧠 小朋友版讲解

背包容量:4kg!

规则:每种宝贝有限制!

怎么选最赚?

2包小熊饼干(1kg+1kg)= 2kg,价值300元!

1个游戏手柄(3kg)= 3kg,价值200元!

1个智能音响(4kg)= 4kg,价值300元!

那最聪明的玩法是?

直接装1个智能音响,装满4kg,赚300元!

所以程序输出是:

多重背包的难点在哪里?

小朋友要记得:

不是能拿就一直拿!每种宝贝有数量上限。

所以要多层循环:每种物品 每件物品 每个背包容量。

避免重复计算,容量要从大到小倒着遍历。

小总结(很重要!)

小诀窍:

有次数限制的,就是多重背包!

小剧场

如果小熊饼干无限量供应,那是完全背包

如果每人限购2包,那就是多重背包

如果只能买1次机会,那就是0-1背包

是不是超级形象!

野牛程序员教少儿编程与信息学奥赛

宜宾市野牛网络科技有限公司专业微信小程序开发、网站建设、软件开发等

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OQddBujjFI6uolDgUFM5K-5Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

领券