
对于解答这道题的我们而言,信息量很少,几乎全是未知数。但对于题目中的人(村民)而言,他们知道的却很多。事实上,除了自己家的狗有没有病之外,其他一切与本题相关的信息,他们都知道。作为一个逻辑问题,本题需要作几点假设:(1)村民诊断病狗几乎不需要时间,可以认为在第一天开会时,大家就都已经观察好了;(2)这3天里,每天有2件事: ①白天开会;第1天会上,村长告诉大家村里有病狗;其后每天,村长告诉大家前一天晚上的杀狗情况; ②晚上杀狗;(3)如上所说,村里至少有1条病狗——而且在第1次开会时村长就告知大家这一点了。所有村民都会做这样的推理:(1)既然村里肯定有病狗,如果某人观察到别人家的狗都没有病,即:他看到 0 只病狗,那就说明他自己的狗有病——他自己肯定也明白了;那么第1天晚上,他就会杀死自己的狗。(2)如果某人(记为A)看到 1 只病狗(设其属于B):首先,A 不能在第 1 天确定自己的狗是否有病,所以A不会在第 1 天晚上杀狗;其次,A 也知道,除B之外的其他人,也至少看到 1 只病狗;他们也不会在第 1 天晚上杀狗;而B 有没有看到病狗,就取决于A自己的狗了——此时,A是不知道答案的。所以在第 2 天开会时,(2.1)如果村长说头天晚上有人杀狗了,那所有人都会知道这个人就是B;而这其实就是(1)所说的情形;(2.2)如果无人杀狗,就说明B也看到了病狗,即:A的狗就是病狗;结果就是:第 2 天晚上,A就会杀死自己的狗; 同样的,B 和 A 一样也只看到了 1 只病狗,所以第 2 天晚上,他也会杀狗。 同时,“我们”也知道了,A、B之外的其他人,都看到了 2 只病狗。以此类推,可得出这样的结论:有几只病狗,这些狗就会在第几天晚上被杀。所以,答案是:有 3 只病狗。
