将N除以M的解决方案,其中M in N,使得M = A x Y,其中没有两个N包含相同的A.

时间:2016-10-27 12:10:19

标签: c++ algorithm

这里有一个例子:

考虑M没有容器 N总没有水果 一种水果,如苹果,橙子 Y没有相同类型的水果..

所以5个容器

100个水果 32个苹果,7个橙子,17个西瓜,6个菠萝,8个番石榴,15个香蕉,15个木瓜

木瓜+菠萝 - 21 香蕉+橘子 - 22 苹果 - 32 西瓜 - 17 番石榴8

主要优先级是没有两个容器应该有相同的水果 ..所以不能将苹果分成两个容器..

单个容器中也不应该有太多类型的水果 像番石榴+菠萝+橙子一样

抱歉编辑错误

有人可以指出要在此使用的问题类型和算法吗。

改进问题的进一步建议是公开的..不是计算机科学专业的学生

PS:这里不需要解决方案只使用问题类型和算法,它是否恰好适合这种情况

1 个答案:

答案 0 :(得分:0)

  

有人可以说出要在此使用的问题类型和算法..

算法类型称为背包算法,通常与每个容器的贪婪选择相结合(贪婪取决于您的选择标准)。

编辑:实际上,这并不适合任何标准算法完全,但你会发现背包的元素和贪婪。总而言之,这听起来像是一个自定义问题。