谁能解答这个推理题?
谁能解答这个推理题?
一个村子住着很多户人家,并且每家每户都养着一条狗.一天村长发现村子里有少数狗生病了,但他也不知道到底是那条狗生病了.于是村长就召集全村人开会,说:“咱村子里有狗生病了,如果你看到了生病的狗和没生病的狗后你可以判断出哪只狗是病狗.从现在起,大家回到家后就不要看自己的狗了,明天咱们大家都去别人家看别人家的狗,在看完别人家的狗后,如果你可以推断出自己家的狗生病了.就拿枪打死自己的狗.”结果,第一天没听见枪声,第二天没听见枪声,第三天听见了枪声.问村子一共有几条病狗.(提示:1.一声枪响代表打死一条狗.2.村民不允许互相讨论只能自己判断.3.村名都非常聪明,不会发生错杀现象.)
设自己家的狗是疯狗的村民为A
别人家的狗是疯狗的村民为B
以下假设的条数A和B是不知道的.
(因为村民不能确定自己的狗是不是疯狗,所以下面的假设中所以人只看自己家外的49条狗)
前题条件,至少有一条狗是疯狗.
假设有一条疯狗,那么A看到了49条正常的狗,就可以确定自己的狗是疯狗,第一天就会杀掉他.
假设有两条疯狗,就有两个A,那么A1和A2看到了48条正常的狗和一条疯狗(A1看到A2家的狗是疯狗,A2看到A1家的狗是疯狗),B看到了二条疯狗和47条正常的狗,这样第一天没有人确定自己家的狗是不是疯狗,所以第一天没有人开枪.第二天A1和A2发现对方都没有杀掉自己的狗,就证明A1和A2也看到了别人家的疯狗,而A2看到除了A1家的狗是疯狗外,其他全是正常的,所以A2确定自己家的狗是疯狗(A1同理确定自己的狗是疯狗),那么第二天A1和A2就会杀掉自己家的疯狗.
假设有三条疯狗,就有三个A,那么A1、A2和A3都看到了47条正常的狗,和2条疯狗(A1看到的疯狗是A2 A3的,A2看到的疯狗是A1 A3的,A3看到的疯狗是A1 A2的),B看到的是3条疯狗和46条正常的狗.第一天没人可以确定自己的狗是疯狗,所以没人开枪.第二天,A1、A2、A3都看到二条疯狗,所以他们可以确定另外两个人也至少看到一条疯狗,所以他们第一天没有人杀狗合乎情理,他们也仍然无法判断自己的狗是不是疯狗,所以第二天没有人开枪.第三天,A1想如果只有两条疯狗,A2、A3都会杀掉自己的疯狗(原因如上假设两条疯狗),而他看到的这两条疯狗外全是正常的狗,所以确定自己的狗是疯狗,A2、A3同理确定自己的狗是疯狗,所以第三天有人开枪,共三枪,共三只疯狗.