IBM公司筆試題:病狗問(wèn)題
村子中有50個(gè)人,每人有一條狗。在這50條狗中有病狗(這種病不會(huì)傳染)。于是人們就要找出病狗。每個(gè)人可以觀察其他的49條狗,以判斷它們是否生病, 只有自己的狗不能看。觀察后得到的結(jié)果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要槍斃自己的狗,而且每個(gè)人只有權(quán)利槍斃自己的 狗,沒(méi)有權(quán)利打死其他人的狗。第一天,第二天都沒(méi)有槍響。到了第三天傳來(lái)一陣槍聲,問(wèn)有幾條病狗,如何推算得出?
推論:
A、假設(shè)有1條病狗,病狗的主人會(huì)看到其他狗都沒(méi)有病,那么就知道自己的狗有病,所以第一天晚上就會(huì)有槍響。因?yàn)闆](méi)有槍響,說(shuō)明病狗數(shù)大于1。
B、假設(shè)有2條病狗,病狗的主人會(huì)看到有1條病狗,因?yàn)榈谝惶鞗](méi)有聽(tīng)到槍響,是病狗數(shù)大于1,所以病狗的主人會(huì)知道自己的狗是病狗,因而第二天會(huì)有槍響。既然第二天也每有槍響,說(shuō)明病狗數(shù)大于2。
由此推理,如果第三天槍響,則有3條病狗。