我被这个问题困了很长一段时间,它基本上是逆向工程公牛和母牛游戏。
在此处阅读更多信息:http://rosettacode.org/wiki/Bulls_and_cows
我无法为下面给出的问题开发逻辑,如果您能想到解决方法,请评论相同。

问题陈述:

给定几个线索词(形式 ABCD/DBCA 等)以及每个词的母牛和公牛的数量,程序
应该能够通过评估给定的线索词计算出实际的词并生成输出 secret 词。

测试用例:

输入:
4
DBCC 0 2
CDAB 2 1
民航总局 1 2
CDDA 2 0

输出:
BDAA

最佳答案

这个想法是减少可能的解决方案的空间。在开始之前,所有 4^4 组合都是可能的。在阅读第一个线索 [DBCC 0 2 ] 后,您可以消除许多可能的解决方案,在此特定示例中,您可以消除所有首先具有 D 的状态,所有其次具有 B 的状态等等在。只需消除所有不“适合”当前线索的可能解决方案。

对每个线索都这样做,直到只剩下一个解决方案。另一个有趣的问题当然是如何生成好的线索模式。

关于algorithm - 使用给定的 n 个字符串输入生成 Bulls 和 Cows secret 词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11594472/

10-16 12:53