各编程语言大神花式解答超烧脑的《2018年刑侦科推理试题》

本文转载自猿份(ID:yuanfen_zp)

回答来源:知乎

前两天,@江苏网警发布了一套名为“2018年刑侦科推理试题”的微博,这条微博发布后,很快就引起了网友的广泛讨论,不少网友直说:刚看完前三题,求生欲就迫使我退了出来,也有的网友写满了好几张A4纸也没能推算出最后结果,整个评论区哀鸿遍野。

试卷本尊

你会做吗?

但!这烧脑的试题传到程序员这里,

画风就来了个180度大拐弯,

直接被程序员们看成了小白入门题,

大神们表示,这题完全不用动脑子,

有电脑就行,

各路语言,各种解法,

分分钟给出正确答案。

还没推理出答案的同学,放下你的纸和笔,一起来看看程序员的解法吧!

C++

@yujia chen:编程跑一下轻松解决。

python

@知乎用户:穷举的程序快闪开,我写了个非穷举用约束库解决的,Python 程序平均耗时0.05 秒以内就可以得出答案,不服的可以站出来。

php

@酒逍遥:PHP版来啦,应该是正确答案,不过用的是最简单的暴力破解算法,不过计算机不就是干这事儿的么。当然算法还可以想其他方法比如动态规划等等。

最后,为了照顾跟小蓝一样,上面三种语言全都看不懂的程序小白,再独家奉上知乎大神给出的常规推理,最起码都是中文,多看几遍总能看懂。

阅读理解推理法

@陈猛:解答本题不需要高深的数学基础(初高中水平足以),不需要编程知识,反而对阅读理解能力的要求较高。抓对方法,解答很快。下面我仅以一个文学本科学历的视角写出推理过程:

划重点

确定条件1:从第三题可以得出,2、3、4、6题里面,有3题的答案是相同的。

确定条件2:从第10题可以得出,本试卷答案最多的字母,数字也不会超过5,且本试卷答案最少的字母,肯定小于2(为1或者0)

这种逻辑题,一旦知道了3题的答案,极大概率就能推出其他答案。鉴于单选题的性质,挨个尝试就可以了,俗称“套答案”:

若3选A,仍旧不能确定246的选项,获得的信息很少;那我们不妨先换下一个假设;

若3选B,则234都选B,由2知5选D,由5知7选D,而第7题选D,与已知条件2相悖,错;

若3选C,则346都选C,由6知3、4、6、8、10都选C,则已经有5题选C,其他题目不能选C。此时看第五题,直接排除ABC选项,但如果选D,则第七题与条件2相悖。错;

若3选D,则236选D,由2知5选B,则4选B,由4知27相同,则7选D,与条件2相悖,错;

所以,第三题选A......下面246选项相同,继续套:

若246为B,则5为D,7为D,与条件2相悖,错;

若246选C,由2知5为A,由6知3、8、10均为A,只剩1、7、9未定。现在第八题:已知第八题为A,反过来说,第2、5、10均与第一题答案相邻。2选C,5选A,与AC相邻的,只有B了。则1、9为B,7选D,完美印证所有题干。

所以最终答案为:BCACACDABA

解答完毕你就发现,其实本题我是绕了弯路的。如果直接分析3为A,可以节省一半时间,这就是聪明反被聪明误的典型。思路写出来显得很多,其实我写在纸上的很少。

所以解答本题的关键在于:

有良好的阅读理解能力和推理能力;

意识到这不是单个的10道选择题,而是1道整体的推理题

一定要找一支笔一张纸!解答事半功倍,这点非常重要。

国内首家区块链实战课程上线

带你基于python语言从0到1实战一个电子货币的实现,实现自己的比特币,感受去中心化的区块链核心理念,掌握业界最强区块链开源系统-龙链,应用到区块链的企业实战。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180310A098JN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券