杨超越吧2018刑侦推理题的python解法

img

背景

在杨超越吧闲逛的时候偶然看到一道题,感觉可以用Python求解

当然,Haskell或者Prolog之类的感觉更适合一些

题目

微信图片_20200724215706

代码

备注

  1. 用了暴力的遍历并检查所有1048576种可能性
  2. 每个问题对应dict一条,不过第一题没有啥限制,所以从2开始
  3. 我觉得这个代码在简洁性和可读性之间获得了较好的平衡,不过性能不咋地
  4. 之所以给每个tuple前加了空字符串,是为了从1开始计数,方便对应题目中的数字
  5. 网上很多代码只检查了答案那一项符合题目要求,没检查其他项不符合。我反正都检查了,因为是单选题。
  6. 答案有且仅有一个,就是BCACACDABA
Written on July 24, 2020