微软中国研究院的一道题

题目:
  小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?

3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
  小明说:如果我不知道的话,小强肯定也不知道
  小强说:本来我也不知道,但是现在我知道了
  小明说:哦,那我也知道了
  请根据以上对话推断出张老师的生日是哪一天



解题思路:

1、根据(小明和小强都没有在第一时间找出答案)and(小明可以第一时间确定小强不能准确知道date):
1可以简化所有m或n为唯一的date;原因:第一时间不能得到答案
2并且删除简化后(曾因n为唯一而被删除的date)中m所对应的所有date。原因:这些date不存在可能性

3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
         |
         |  去掉n={7,2}的唯一date
         V
3月4日 3月5日 3月8日
6月4日
9月1日 9月5日
12月1日 12月8日
         |
         |  去掉m={6}的唯一date
         V
3月4日 3月5日 3月8日
9月1日 9月5日
12月1日 12月8日
         |
         |  去掉n={4}的唯一date
         V
3月5日 3月8日
9月1日 9月5日
12月1日 12月8日
         |
         |  到此没有m或n能够唯一的date;
         |  运用第2个逻辑(并且删除简化后(曾因n为唯一而被删除的date)中m所对应的所有date)
         |  曾删除的date, m={3,6,12},所以删掉3.*,6.*,12.*
         V
9月1日 9月5日
(到此, 这就是小明寓意中的最小可能date集合)


2、根据(小强说:本来我也不知道,但是现在我知道了):
1可以简化所有m或n为唯一的date;原因:同1
2删除初始date中n为唯一的date对应m所在的所有date;原因:结合上面的2
3并且删除简化后集合中n为不唯一的date。原因:只有唯一的才能让小刚确定

3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
         |
         |  去掉n={7,2}的唯一date
         V
3月4日 3月5日 3月8日
6月4日
9月1日 9月5日
12月1日 12月8日
         |
         |  去掉m={6}的唯一date
         V
3月4日 3月5日 3月8日
9月1日 9月5日
12月1日 12月8日
         |
         |  去掉n={4}的唯一date
         V
3月5日 3月8日
9月1日 9月5日
12月1日 12月8日
         |
         |  到此没有m或n能够唯一的date;
         |  运用第2逻辑(删除初始date中n为唯一的date对应m所在的所有date),del 6.*  , 12.*
         V
3月5日 3月8日
9月1日 9月5日
         |
         |  运用第3逻辑(并且删除简化后集合中n为不唯一的date),del 3.5, 9.5
         V
9月1日 3月8日
(到此, 这就是小刚寓意中的最小可能date集合)
         |
         |  小刚结合小明的逻辑寓意,求出两人集合的重合。  
         V
     9月1日
(到此, 小刚说他知道了)


3、根据(小明说:哦,那我也知道了):
小明求出(小刚曾算出的可能最小集合)和(自己算出集合)的重合。

9月1日 9月5日
         |
         |  求与  {9月1日 3月8日} 集合的重合
         V
     9月1日
(到此, 小明也说他知道了)


因此,张老师的生日是  9月1日

你可能感兴趣的:(Date,微软)