当前位置: 首页 > news >正文

推理题:猜扑克牌

有人从一手纸牌中选定一张牌,他把这张牌的花色告诉X先生,而把点数告诉了Y先生,两位先生都知道这手纸牌是:

黑桃      J、8、4、2;

红心  A、Q、4;

方块  A、5;

草花  K、Q、5、4。

X先生和Y先生都很精通逻辑,很善于推理。他们之间有对话如下:

Y先生:我不知道这张牌。

X先生:我知道你不知道这张牌。

Y先生:现在我知道这张牌了。

X先生:现在我也知道了。

       黑桃 J   8   4   2
       红心 A   Q   4
       方块 A   5
       草花 K   Q   4   5

Y知道点数,但说不知道这牌,所以符合该点数的牌一定有几种花色存在,A。Q。4。5都有可能
X知道花色,并说确定Y不知道这牌,是因为在X所知道的花色里面,每一张牌的点数在其他的花色里面都有。因此排除 黑桃 和 草花。
(反例:如果X得到的提示是草花,那么可能存在草花K,整副牌只有一张K,因此不可能知道Y先生无法确定,同理排除黑桃) Y说,现在我知道了,说明Y所知道的点数,在红心和方块里面是唯一存在的,排除红心A和方块A。 X说,我现在也知道了,说明排除了A后,该牌是X所知道的花色里面剩下的唯一一张牌,符合的只有方块5。

还是不理解的参考这篇解释:

第一步
对X来说:
黑桃:J 8 4 2
红桃:A Q 4
方块:A 5
草花:K Q 5 4
 
对Y来说
2 黑桃
4 红桃 草花
5 方块 草花
8 黑桃
J 黑桃
Q 红桃 梅花
K 梅花
A 红桃 方块
 
第二步:
Y先生:我不知道这张牌
 
可以排除花色单张的,因为只有单张的话Y肯定就知道了。
排除:黑桃2、 黑桃8、黑桃J、草花K
注意到:这里是黑桃和草花的
 
第三步:
X先生:我知道你不知道这张牌
 
(这句话很容易误解,很容易理解成:“我现在知道你不知道这张牌”,这里完全是对刚开始说的,应该理解成:“我本来就知道你不知道这张牌”,出题句子也不说清楚些)
如果有单张的话,Y肯定就知道这牌了,既然X知道Y不知道是什么牌,那么说明牌的花色肯定不是单张里面的,排除了刚刚出来的黑桃和草花(第二步排除的)
 
再一次排除黑桃和草花之后,所以现在的牌就有:
 
对于X
红桃:A Q 4
方块:A 5
 
对于Y
A:红桃、方块
Q: 红桃
5:方块
4:红桃
 
第四步:
Y:我现在知道那张牌了
 
对于上面那个结果,双方已经是心知肚明,很明显,如果是点数是A的时候,Y肯定不知道是哪个花色(因为不是单张),所以排除了红桃A、方块A
所以现在的结果是:
对于X
红桃: Q 4
方块: 5
 
第五步:
X先生:现在我也知道了
 
聪明的X先生马上意识到Y是一个多嘴的人,在最后的时刻出卖了自己(突然想到了《教父》),让别人看出来自己在想什么。
答案已经很明显,既然Y已经知道了,那说明点数肯定是唯一的,花色肯定是单张的。
 
所以,答案是:
方块5

现学现卖(小测试一下吧!)

answer:black three

 

相关文章:

  • JS获取首字母
  • zabbix-----5-----自动发现的概念
  • NTP时钟同步学习记录
  • java基础知识 构造方法
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改
  • mediawiki登录时第一次会跳回登录页面,第二次才能登录成功
  • 更换好的yum源
  • 初识cesium----加载不同JSON格式例子
  • 《React Native高效开发》之create-react-native-app
  • 算法(Algorithms)第4版 练习 2.3.25
  • Matlab中imnoise函数的用法
  • docker 配置缓存代理服务apt-cacher-ng
  • TCP状态统计 - 脚本命令
  • Flask的Jinja2模板引擎 - 全局函数
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [case10]使用RSQL实现端到端的动态查询
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 5、React组件事件详解
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • go append函数以及写入
  • JAVA并发编程--1.基础概念
  • JAVA之继承和多态
  • js学习笔记
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • PHP变量
  • python学习笔记 - ThreadLocal
  • Quartz初级教程
  • Sass Day-01
  • socket.io+express实现聊天室的思考(三)
  • spark本地环境的搭建到运行第一个spark程序
  • SpringCloud集成分布式事务LCN (一)
  • 从0实现一个tiny react(三)生命周期
  • 高性能JavaScript阅读简记(三)
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (转)Unity3DUnity3D在android下调试
  • (转)甲方乙方——赵民谈找工作
  • (转)树状数组
  • .apk 成为历史!
  • .NET 4.0中的泛型协变和反变
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .Net Memory Profiler的使用举例
  • .NET 的静态构造函数是否线程安全?答案是肯定的!