最近网上流传一个据说非常烧脑的《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 的实现代码去了。
网友评论