我正在尝试为一个问题设计最有效的算法,但我遇到了一些困难。如果有人可以提供帮助,或者通过提出算法或对问题进行分类,以便我可以做一些进一步的研究,我将非常感激。
问题如下:
有n个(整数)个不同的红球,每个都有自己的编号,m个不同的绿球,每个都有自己对应的编号。例如,如果 n = 3,则有三个红球,分别名为红球 1、红球 2 和红球 3。还有两个盒子可以放置这些球。
然而,在将球放入盒子之前,有 x 人预测哪些球将放入哪个盒子(盒子 1 或盒子 2)。每个人得到一个预测,对于每个预测,他们可以猜测每个盒子里有一个球。唯一的条件是他们在盒子 1 中猜测的球不能与他们在盒子 2 中猜测的球颜色相同。一个示例预测是:“我认为红球 2 将在盒子 1 中,而绿球在 3 中将在框 2"
每个人都做出预测后,将球放入盒子中,以最大限度地增加正确预测的数量。
我必须编写的代码将提示 n、m 和 x 以及预测,然后被要求返回正确预测的最大数量。
再一次,我正在寻找算法帮助或帮助确定这是什么类型的问题。我目前有一个在 (n^2) 上运行的递归算法,但我需要一些更高效的东西。
谢谢你的帮助!干杯,伙计们!