美文网首页编程与砍杀
非穷举的《2018刑侦科推理试题》Python 解法

非穷举的《2018刑侦科推理试题》Python 解法

作者: 李屠夫 | 来源:发表于2018-03-02 19:06 被阅读0次

最近网上流传一个据说非常烧脑的《2018刑侦科推理试题》,如下图: 

Figure 1 - 来源见水印

正好以前用过 Python 写过搞过线性规划的小程序,但是明显这个问题不是线性规划。经过一番研究,这种类似的叫做 CSPs (Constraint Solving Problems) 问题,而且有个直接可用的 Python 库 "python-constraint"来处理。

因为以前从来没遇见过这种类似线性规划却又不是的东西,极大地激发了我的好奇心,所以就写了下面这个 Python 程序作为入门学习。

由于简书对较长代码的格式化问题,具体 Python 代码贴在“码云”中:

https://gitee.com/oldrev/codes/561wsuolya0bxd37nih8t72

程序运行的结果:

Figure 2 - Screenshots

用上了高大上的动态规划,是不是比无脑的暴力穷举要清爽多了?虽然10个题目每题4个选项,穷举也就是 4^10 大概 100 多万种组合,对于 Python 虽然吃力了点,但是给点时间还是能搞定的。

不说了,我去研究 python-constraint 的实现代码去了。

相关文章

网友评论

    本文标题:非穷举的《2018刑侦科推理试题》Python 解法

    本文链接:https://www.haomeiwen.com/subject/ccmoottx.html