你将如何创建一个算法来解决以下难题,"Mastermind"?
你的对手选择了六种不同的颜色(黄色,蓝色,绿色,红色,橙色,紫色).你必须猜测他们选择了哪个,以及以什么顺序.在每次猜测之后,你的对手会告诉你你猜到的颜色中有多少(但没有哪种)是正确的颜色["黑色"]和多少(但不是哪个)是正确的颜色但是在错误的地方[ "白色"].当你猜对了时,游戏结束(4个黑人,0个白人).
例如,如果您的对手选择了(蓝色,绿色,橙色,红色),并且您猜测(黄色,蓝色,绿色,红色),您将获得一个"黑色"(红色)和两个白色(用于蓝色和绿色).猜测会得到相同的分数(蓝色,橙色,红色,紫色).
我对您选择的算法感兴趣,并且(可选)如何将其转换为代码(最好是Python).我对以下编码解决方案很感兴趣:
我很满意一种非常有效但效率不高的算法(前提是它不仅实现得不好!); 然而,一种非常有效且无效的算法实施起来是不可用的.
我已经发布了我自己的(详细)Python解决方案,但这绝不是唯一或最好的方法,所以请发布更多!我不期待一篇文章;)