早教吧 育儿知识 作业答案 考试题库 百科 知识分享

村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗.每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能

题目详情
村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗.
每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能看,观察后得到的结果不得交流,也不能通知病狗的主人.主人一旦推算出自己家的狗是病狗就是枪毙自己的狗(发现后必须在一天内枪毙),而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗.
第一天大家全看完了,但枪没有响,到了第三天传来一阵枪声,问村里共有几条病狗,如何推算出来的?
▼优质解答
答案和解析
从题中可以得出个前提,那就是说至少有一只狗是病狗.
假设只有一只病狗,第一天,看完了后,如果有某个人看到其他人的狗全是好狗,那么他一定就会知道自己的狗是病狗,并开枪.由于没出现枪声,假设不成立,说明至少有两只病狗,并且所有人都知道了这个信息.
假设只有两只病狗,除了两只病狗的主人,其他人都能看到这两只病狗,而这两个人都只看一只病狗,由第一天的信息,他们都能知道自己的狗是病狗,将开枪打死,可第二天仍无人开枪,假设不成立,说明至少有三只病狗,并且所有人都知道了这个信息.
假设只有三只病狗,三只病狗的主人看到只有两只病狗,由头一天的信息,他们都知道自己的狗是病狗,他们将开枪打死自己的狗,这与题意符合.
但此题并未结束,还应假设有多于3只的病狗,第三天时,病狗的主人看到了等于或多于3只的病狗,他们就无法由头一天的信息判断出自己的狗是否是病狗,此时就不会有枪声,这与题意不符,假设不成立.
因此,村里共有3只病狗.