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

逻辑推理:张老师的生日

题目描述

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天:

     3月4日 3月5日 3月8日6月4日 6月7日9月1日 9月5日12月1日 12月2日 12月8日张老师将M值告诉了小明,将N值告诉了小强,张老师问他们知道他的生日是哪一天吗?小明说:如果我不知道的话,小强肯定不知道小强说:本来我也不知道,但是现在我知道了小明说:哦,那我也知道了据上面信息,推断出张老师的生日是哪一天?

题目解析

这个逻辑题,如何用程序实现?其实这是一个建模过程,我们需要用专业的术语重新描述这个逻辑。

这个问题数据只有2个:月数和天数。逻辑是参杂2个人角度看问题的3句话。我们分析这个问题时,首先要保持第三者的视角,逐个从其他两个视角去分析这个问题。然后就是建立模型,我们看这样的数据有个特征:{Key,Value}键值对。但是可以看出这是个MultiMap,即一个键可以对应多个值。

我们沿着这个思路走.可以发现,站在小明的角度,我们可以将数据建立成一个MultiMap。他眼中的数据使用月数M为键,天数N为值。以后我们称下表为“小明表”。

在这里插入图片描述
可以站在小强的角度,我们将数据建立成一个新的MultiMap。他眼中的数据使用天数N为键,月数M为值。以后我们称下标为“小强表”。
在这里插入图片描述
我们再回到第三者的角度,可以得出,这两张表对于小明和小强都是可见的。

我们将小明和小强的对话,一条一条转换为约束条件。

1 小明说:如果我不知道的话,小强肯定不知道

小明是看了“小强表”之后得出以上结论。这句话意味着:他所知的M值在“小强表”中不存在Key Value唯一对应关系。即12月2日和6月7日,这两个月份12和6都不是老师的生日月数。因为如果是M是12或6,小明在不知道N的情况下,无法给定如此“拽”的回答。于是逐步排除出一下结果(红色代表排除的选项)

在这里插入图片描述
2 小强说:本来我也不知道,但是现在我知道了

小强在看到上图后,得出上面结论。这个说明,小强知道的N在上表中是Key Value唯一对应关系。于是得出
在这里插入图片描述
因为小强知道N是多少,所以剩下的选项中,他知道正确答案了。只是我们还不知道。我们期待小明的话。

3 小明说:哦,那我也知道了

对于小明,他和我们一样,可以看到上图。于是他知道N的值只可能是1、4、8。于是修改“小明表”为
在这里插入图片描述
由于此时小明已经知道了答案。可以见得M值在上表中是Key Value唯一对应关系。于是我们可以排除3和12。得出
在这里插入图片描述
此时有两个答案。我们此时结合筛选后的“小强表”

在这里插入图片描述
此时,我们可以说6月4日在“小强表”中已被排除,所以我们选择9月1日。或者我们从这个两个表中找到了唯一的共同选项,从而得知是9月1日。

http://www.xdnf.cn/news/828955.html

相关文章:

  • SEO与SEM区别是什么
  • 人脸识别各算法详解
  • WinForm(一) WinForm入门与基本控件使用
  • DSP-EALLOW和EDIS
  • 【计算机网络】第三章--数据链路层
  • 【HeadFirst 设计模式】你看过《HeadFirst Design Pattern》了吗?(菜鸟晋升必经之路)
  • C语言【指针】函数指针和指针函数用法和区别
  • AGPS(辅助全球卫星定位系统)
  • 这些机房规划技巧,老网工都不舍得公开
  • android使用sharesdk第三方分享
  • 【C语言】C语言函数详解:从基础到高级,掌握函数的使用技巧和常见问题解析
  • sin60度 用计算机,cos60度等于多少啊
  • Java概念
  • Android最全UI库合集
  • C语言爱心代码大全集—会Ctrl+C就可以表白了
  • TCP通信过程详解以及tcp长连接和短连接
  • IronPython:交互式解释器与常用函数
  • VMware安装虚拟机教程(小白学习记录)
  • 入坑刷机?手机各大模式了解一下
  • AndroidStudio findbugs 插件检查和过滤
  • 配置本地安全策略
  • 计算机大端与小端的详细解析,含判断机器大小端代码
  • SAP-MM常用增强之MIGO增强
  • startActivityForResult被标记为弃用后,如何优雅的启动Activity?
  • 软件加密系统Themida应用程序保护指南(八):额外的选择
  • assertion failed的解决办法
  • 浅析C/C++ library
  • 三层架构简介
  • Oracle AWR与ASH性能报告深入解析
  • 中文乱码集锦