给定一组项目,每个项目都有一个权重和一个值,请确定要包含在集合中的每个项目的数量,以使总重量小于或等于给定的限制,并且总值尽可能大。
例如,您可以得到最大权重为15的对象,值/质量为的对象,[5,2], [7,4] [1,1]
然后输出[7,0,1]
7个[5 <value>, 2 <mass>]
对象和1个[1 <value>, 1 <mass>]
对象,得分为36。
规则
输入可以采用任何合理的格式
输出也是灵活的格式,
您不得使用非标准的库。如果必须安装或下载任何库使用它从初始设置则分离不容许
物体可能具有负质量和负值(即-1,-1)
需要最佳答案
获奖
最短的代码胜出
负数和价值?
这是这一挑战的关键部分。假设您有一个对象(物品,质量,值),例如[4,3],[-1,-1]
一个容量为15的袋子。您可以放置第一个对象中的3个,得分为9,或者放置第一个对象中的4个和-1,-1中的一个对象得分为11。
沙盒
—
Christopher
我们可以假设没有物体具有非正质量吗?
—
HyperNeutrino
@HyperNeutrino一秒钟删除以进行编辑
—
Christopher
标题具有误导性。由于负权重,这不是背包问题,而是线性规划问题的一种变体。
—
ngn