博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP编程解答2018刑侦推理试题
阅读量:6028 次
发布时间:2019-06-20

本文共 2619 字,大约阅读时间需要 8 分钟。

hot3.png

这是网上很火的2018刑侦推理试题,网上已经有人推理得出答案。

作为程序员当然想的是如何用编程得出答案.

php代码如下

'C','B'=>'D','C'=>'A','D'=>'B'); if($question[$data[2]] == $data[5]) return true; return false;}function check_3($data){ $question = array('A'=>$data[3],'B'=>$data[6],'C'=>$data[2],'D'=>$data[4]); $answer = $question[$data[3]]; unset($question[$data[3]]); if(!in_array($answer,$question)) return true; return false;}function check_4($data){ $question = array('A'=>$data[1]==$data[5],'B'=>$data[2]==$data[7],'C'=>$data[1]==$data[9],'D'=>$data[6]==$data[10]); return $question[$data[4]];}function check_5($data){ $question = array('A'=>$data[8],'B'=>$data[4],'C'=>$data[9],'D'=>$data[7]); if($question[$data[5]] == $data[5]) return true; return false;}function check_6($data){ $question = array('A'=>$data[2]==$data[4] && $data[4]==$data[8],'B'=>$data[1]==$data[6] && $data[6]==$data[8],'C'=>$data[3]==$data[10] && $data[10]==$data[8],'D'=>$data[5]==$data[9] && $data[9]=$data[8]); return $question[$data[6]]; }function check_7($data){ $question = array('A'=>'C','B'=>'B','C'=>'A','D'=>'D'); $count = array_count_values($data); arsort($count); if(array_pop(array_keys($count))==$question[$data[7]]) return true; return false;}function check_8($data){ $map = array('A'=>1,'B'=>2,'C'=>3,'D'=>4); $question = array('A'=>$data[7],'B'=>$data['5'],'C'=>$data['2'],'D'=>$data['10']); if(abs($map[$data[1]] - $map[$question[$data[8]]])>1) return true; return false;}function check_9($data){ $question = array('A'=>$data[6],'B'=>$data[10],'C'=>$data[2],'D'=>$data[9]); if(($question[$data[9]] == $data[5])!=($data[1] == $data[6]))return true; return false; }function check_10($data){ $question = array('A'=>3,'B'=>2,'C'=>4,'D'=>1); $count = array_count_values($data); arsort($count); $min = array_pop($count); asort($count); $max = array_pop($count); if($question[$data[10]] == $max-$min) return true; return false;}foreach($option as $v[1]){ foreach($option as $v[2]){ foreach($option as $v[3]){ foreach($option as $v[4]){ foreach($option as $v[5]){ foreach($option as $v[6]){ foreach($option as $v[7]){ foreach($option as $v[8]){ foreach($option as $v[9]){ foreach($option as $v[10]){ for($i=1;$i<=10;$i++){ $answer[$i] = $v[$i]; } for($i=1;$i<=10;$i++){ $func = "check_".$i; if(!$func($answer)) break; } if($i == 11) {echo implode(' ',$answer)."\r\n";die;} } } } } } } } } }}?>

结果输出:B C A C A C D A B A

应该是正确答案,不过用的是最简单的暴力破解算法,不过计算机不就是干这事儿的么.

当然算法还可以想其他方法比如动态规划等等.

转载于:https://my.oschina.net/jiuxiaoyao/blog/1631783

你可能感兴趣的文章
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
二、saltstack使用
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
Python中str()与__str__、repr()与__repr__、eval()、__unicode__的关系与区别
查看>>
[NOIP2011] 观光公交
查看>>
[洛谷P3203][HNOI2010]弹飞绵羊
查看>>
Google Chrome开发者工具
查看>>
第一阶段冲刺报告(一)
查看>>
使用crontab调度任务
查看>>
ctr预估论文梳理和个人理解
查看>>
【转载】SQL经验小记
查看>>
zookeeper集群搭建 docker+zk集群搭建
查看>>
Vue2.5笔记:Vue的实例与生命周期
查看>>
论JVM爆炸的几种姿势及自救方法
查看>>
联合体、结构体简析
查看>>
使用throw让服务器端与客户端进行数据交互[Java]
查看>>
java反射与代理
查看>>
深度分析Java的ClassLoader机制(源码级别)
查看>>