好久没上网了发贴了,看到有人发这道题,就用工作流的解决方式作一下吧
小明和小强都是张老师的学生,张老师的生日是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.小明说:如果我不知道的话,小强肯定也不知道
小明能肯定小强不知道,那就说明小强拿到的肯定不是7和2(因为7和2直接可以确定是6月7日和12月2日);
小明能肯定小强拿到的不是7和2,那么他自己拿到的肯定不是6和12
(以上推算我假设小强有与我一样的智商,将所有的6月与12月排除)
3月4日 3月5日 3月8日
9月1日 9月5日
2.小强说:本来我也不知道,但是现在我知道了
当小强知道了小明拿到的是3或者9,他马上就知道了准确日期,所以小强拿到的不可能是5,只能是1,4,8中的一个
(以上推算我假设小明有与我一样的智商,范围变为)
3月4日 3月8日
9月1日
3.小明说:哦,那我也知道了
小明知道了,我的代码也算出来了
(如果有维一的月份,则小明能确定)
维一的月份是9