zoukankan      html  css  js  c++  java
  • 张老师的生日是哪一天

    题目描述:

    小明和小强都是张老师的学生,张老师的生日是 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 日
    小明说:「如果我不知道的话,那么小强肯定也不知道。」
    小强说:「本来我也不知道,但是现在我知道了。」
    小明说:「哦,那我也知道了。」
    请根据以上对话推断出张老师的生日是哪一天?

    分析与解答:

    9 月 1 日。
    1)分析这 10 组日期,经观察不难发现,只有 6 月 7 日和 12 月 2 日这两组日期是唯一的。由此可知,如果小强得知的 N 是 7 或者 2,那么他必定知道了老师的生日。
    2)小明说:「如果我不知道的话,小强肯定也不知道」,而该 10 组日期的月数分别为 3, 6,9,12,而且相应月的日期都有两组以上,所以小明得知 M 后是不可能知道老师生日的。
    3)进一步分析小明说:「如果我不知道的话,那么小强肯定也不知道」,结合第 2 步结论,可知小强得知 N 后也绝不可能知道。
    4)结合第 3 和第 1 步,可以推断:所有 6 月和 12 月的日期都不是老师的生日,因为如果小明得知的 M 是 6,而若小强的 N=7,则小强就知道了老师的生日(由第 1 步已经推出)。同理,如果小明的 M=12,若小强的 N=2,则小强同样可以知道老师的生日,即:M 不等于 6 和 12。现在只剩下「3 月 4 日、3 月 5 日、3 月 8 日、9 月 1 日、9 月 5 日」五组日期。而小强知道了,所以 N 不等于 5(因为有 3 月 5 日和 9 月 5 日),此时,小强的 N∈(1,4,8)。虽然 N 有三种可能,但对于小强只要知道其中的一种,就能得出结论。所以有「小强说:本来我也不知道,但是现在我知道了,」至此继续推理知道,剩下的可能是「3 月 4 日、3 月 8 日、9 月 1 日」。
    5)分析「小明说:哦,那我也知道了,」说明 M=9,N=1(N=5 已经被排除,3 月份的有两组也已排除)。

  • 相关阅读:
    爬虫杂七杂八
    pycharm使用技巧
    python杂七杂八
    mysql杂七杂八
    mysql常见函数总结:
    CF1030F Putting Boxes Together
    AT2688 [ARC080C] Young Maids
    P5280 [ZJOI2019]线段树
    雨的味道
    P2572 [SCOI2010]序列操作
  • 原文地址:https://www.cnblogs.com/hardy-wang/p/13068831.html
Copyright © 2011-2022 走看看