一个村子里,有50户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定,谁要是发现了自己的狗是疯狗,就要将自己的狗枪毙。
但问题是,村子里面影妈品线模奏曲迅转的人只能看出别人家的狗是不是疯狗,而不能看出自己的狗是不是疯的,如果看出别人家的狗是疯狗,也不能告诉别人。
于是大家开始观察,第一天燃房培杂冲谓项举晚上,没有枪声,第二天晚上,没有枪声,第三天晚上,枪声响起(具体几枪不清楚),问村子里有几只疯狗?
答案:3条
分析:
第一天,如果每个人看到其他49只狗都活蹦乱跳,那么他都不用看自己的狗,根据前提1密贵谓货来绿孔房道,每个人都明白,院子里至少有看花散频还一只病狗,必然是自己的狗病了,那么根据条件2,第一天就会响枪。由于第一天没有枪声,说明假设不对,即:每个人看到其他49只狗都活蹦乱跳是不对的,反过来说每个人至少能够看到一只病映心培相叫父它眼狗。
现在的问题是争去密食货:每个人都看到了至少一气染系提注松田限只病狗,可为什么没有响枪呢?因为病狗的主人看宽敌优到的是别人家的病狗,如果他看到的病狗的主人枪杀了自己的价血个源审持深日模机而狗,他会想:谢天谢地,我家的狗没病,在第一天,在他所看到的病狗的主人先枪杀识吧相十客他的狗之前,他是不敢贸然杀死自己的狗的另茶却率较助,如果他这样做,反而会误导他所看到的那个病狗的主人,他会认为自己的狗没有病。第一天没有枪声,那么每个人都知道,院子里至少有两只病狗。
到了第二天,如果每个人都看到48只活蹦乱跳的狗和一只病狗,那么不用犹豫,自己的狗病了,杀吧。可第二天还是没有枪声,体实孩矛航非转象存间研那么每个人都知道,院子里至少有三只病狗,那只能等到第三天。
到了第三天,如果每个人都看到47只活蹦乱跳的狗和两只病狗,那么不用犹豫,自己的狗也病了,杀吧。第三天传出一阵枪声,说明有三只狗被杀。
标签:逻辑推理,有趣