病狗问题

村里住着100户人家,每家都养了一条狗,已知这些狗中有病狗.每家都只能通过观察别人家的狗是否有病去判断自己家的狗,一旦判断出自家的狗有病,就必须打死自己家的狗,{每家只能打自己的狗}第一天过去没有枪声:第二天过去仍然没有枪声:第三天傍晚同时响起一片枪声. 病狗全都死了.问村子里有几条病狗?

既然村里有病狗,如果只有一条a,那a的主人在检查了其他人的狗后就会在第一天把自己的狗杀掉,如果有a和b两条,那a的主人在看见b是病狗后就不能确定自己的狗是否生病,他就不会在第一天杀掉自己的狗,于是第一天没有枪声,但到了第二天,a看见b的主人没有把b杀掉,就能推断出村里不止一条病狗,所以a的主人就会在第二天把a杀掉.b的主人也一样.依此类推,如果村里有n条病狗,那就会在第n天听到枪声.
所以是3条.

原文地址:https://www.cnblogs.com/34fj/p/9552767.html