相关疑难解决方法(0)

如何解决"Mastermind"猜谜游戏?

你将如何创建一个算法来解决以下难题,"Mastermind"?

你的对手选择了六种不同的颜色(黄色,蓝色,绿色,红色,橙色,紫色).你必须猜测他们选择了哪个,以及以什么顺序.在每次猜测之后,你的对手会告诉你你猜到的颜色中有多少(但没有哪种)是正确的颜色["黑色"]和多少(但不是哪个)是正确的颜色但是在错误的地方[ "白色"].当你猜对了时,游戏结束(4个黑人,0个白人).

例如,如果您的对手选择了(蓝色,绿色,橙色,红色),并且您猜测(黄色,蓝色,绿色,红色),您将获得一个"黑色"(红色)和两个白色(用于蓝色和绿色).猜测会得到相同的分数(蓝色,橙色,红色,紫色).

我对您选择的算法感兴趣,并且(可选)如何将其转换为代码(最好是Python).我对以下编码解决方案很感兴趣:

  1. 清楚(容易理解)
  2. 简洁
  3. 高效(快速猜测)
  4. 有效(解决难题的猜测次数最少)
  5. 灵活(可以轻松回答有关算法的问题,例如最糟糕的情况是什么?)
  6. 一般(可以很容易地适应其他类型的拼图而不是Mastermind)

我很满意一种非常有效但效率不高的算法(前提是它不仅实现得不好!); 然而,一种非常有效且无效的算法实施起来是不可用的.

我已经发布了我自己的(详细)Python解决方案,但这绝不是唯一或最好的方法,所以请发布更多!我不期待一篇文章;)

python algorithm

34
推荐指数
3
解决办法
3万
查看次数

标签 统计

algorithm ×1

python ×1