C++ 在N中除以M的解,其中M在N中,使得M=A x Y,其中没有两个N包含相同的A

C++ 在N中除以M的解,其中M在N中,使得M=A x Y,其中没有两个N包含相同的A,c++,algorithm,C++,Algorithm,这里有一个例子: 考虑容器的数量 N水果总数 一种水果,如苹果、桔子 同类型水果的数量 So 5容器 100个水果 32个苹果,7个橙子,17个西瓜,6个菠萝,8个番石榴,15个香蕉,15个木瓜 木瓜+菠萝-21 香蕉+橙子-22 苹果-32 西瓜-17 番石榴8 最重要的是两个容器不能有相同的水果。所以不能把苹果分成两个容器 也不应该在一个容器里放太多种类的水果 像番石榴+菠萝+橙子合一 抱歉,编辑不好 有人能说出这方面要使用的问题类型和算法吗.. 进一步改进这个问题的建议是开放的1.不是计算

这里有一个例子:

考虑容器的数量 N水果总数 一种水果,如苹果、桔子 同类型水果的数量

So 5容器

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

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

最重要的是两个容器不能有相同的水果。所以不能把苹果分成两个容器

也不应该在一个容器里放太多种类的水果 像番石榴+菠萝+橙子合一

抱歉,编辑不好

有人能说出这方面要使用的问题类型和算法吗..

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

PS:这里不需要解决方案,只需要使用问题类型和算法,它是否完全适合此场景

有人能说出这个问题的类型和算法吗

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


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

请解释为什么会出现这种情况。我不明白您想要实现什么,而且您的案例似乎太具体,无法归类为X类型的问题。请尝试查看优化问题,或者说,似乎有点接近您想要做的事情。此外,应该提供最少的代码,我们不是代码生成器,也不是自由程序员。但这不是背包,因为单个容器中不应该有太多类型的水果。。但这不完全是背包,因为一个容器里不应该有太多种类的水果。。部分而且,只有在处理有限的数据时,它才是贪婪的。。或部分数据。。这里是所有变量mna和Y的精确值