病狗问题

村里有50个人,每个人有一条狗,即有50只狗,这些狗中有病狗(不是传染病),每个人可以看除了自己的狗以外的所有狗,即49只狗。有病的狗一看就知道了,当有人推断出自己的狗是病狗的话则开枪打死自己的狗(当天知道),每人看后不准相互交流!第一天,没有枪响,第二天也没枪响,第三天,听见一阵枪响,请问村里有几只病狗?
答案:
  1.若只有1条病狗,那么该狗的主人第一天就能发现,并毙之;

(解释:意思是说,如果有1条病狗,那么有一个人不会看到病狗,就是病狗的主人因为不能查看自己的狗,则知道自己的是病狗,简言之:
“自己看到了0条,但还存在病狗,那么自己没看的也就是自己的狗,就是病狗”)
2.若只有2条病狗,设这两条狗的主人分别是A,B,第一天,A和B分别发现对方的狗是病狗,那么到第二天A和B就会明白,
如果只有一条病狗,那么根据假设1第一天就会有枪声,所以自己的狗也是病的。于是第二天就会有枪响并有2条病狗;

(解释:意思是说,A知道我看到了一条,却没有按照一条的情况处理,所以我看到的少一条病狗,也就是说我自己的是病狗,
,简言之:“自己看到了一条,但是如果只有一条,但实际上有一条以上,那么自己没看的也就是自己的狗,就是病狗”)

3.若有3条病狗,设其主人是A,B,C,第一天A发现B和C的狗是病的,B发现A和C的狗是病的,C发现A和B的狗是病的,
如果A,B,C都认为只有2条狗是病的话,那么按照假设2,第二天就会有枪响。然而第二天没有动静,那么A,B,C就会认识到自己的狗也是病的,
因此第三天会有枪响,并有3条狗病。

(解释:如果三条病狗,这三条病狗的主人会看到两条病狗,认为理应按照2的情况来处理,则第二天有人开枪杀狗,但是第二天没有人杀狗,
则表示不是两条,不是一条,应该是两条以上,蛋是自己看到了两条,所以自己的那条狗是病狗。)

猜你喜欢

转载自sha1064616837.iteye.com/blog/2036934