• 50人有50条狗的逻辑推理


    首先题目说村中一定有病狗,另外要默认狗主人都足够聪明。
    1)如果只有一只病狗(狗主人甲),第一天狗主人甲没看到其他人有病狗,得出自己的是病狗,第一天就会开枪枪毙病狗;其他人已经看到病狗,不能确定自己的狗有没有病,不会作出反应。

    2)如果只有两只病狗(狗主人是甲和乙),第一天狗主人甲看到乙的病狗,不能确定自己的狗有没有病,不会作出反应。乙也一样不反应,其他人也都看到2只病狗,也不会作出反应;
    第二天再看狗时,甲看到乙的病狗没死,他推理出乙第一天看到了别人病狗,而其他人都没病狗,那必须自己的是病狗,乙想法同甲,于是第二天看完狗后两人枪毙两狗,其他人第一天看到两只狗,第二天还是看到两只狗,他们知道甲乙要第二天才能推理出各自的病狗,所以他们也没反应。

    3)如果只有三只病狗(狗主人是甲,乙,丙),第一天甲、乙、丙各看到两只病狗,不能判断总共有三只还是两只病狗,他们想如果是两只,那么第二天就会有人做出情况2的推理,但第二天也没枪响,所以到了第三天,他们就可以断定是3只病狗,那么除了他们看到的两只,就只有自己的那只也是病狗,所以第三天枪响了。

    依次类推,前面都没枪响,第k天枪响,就说明有k只病狗

  • 相关阅读:
    asp.net六大对象
    python学习之类和实例的属性;装饰器@property
    第一次写博客,不知道写什么,就随便写一点咯
    Bash脚本编写初体验
    python学习之参数传递
    2016.9.30词法分析程序 108
    实验三 108
    10.28实验二 108
    词法分析实验报告 108
    组合数据类型练习,综合练习 108
  • 原文地址:https://www.cnblogs.com/vanoraxnc/p/10387934.html
Copyright © 2020-2023  润新知