本文集纯粹搬运,并非原创,嗯,原创作者一般外国人,不知道知道不,向原创作者致敬!
有个村子中有50个人,每人有一条狗。在这50 条狗中有病狗(这种病不会传染)。于是,人们就要找出病狗。假如每个人可以观察其他的49 条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗,就要枪毙自己的狗;而且,每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。
第一天、第二天,第三天都没有枪响,到了第四天,远方传来一阵枪声。请问,有几条病狗? 如何推算得出?
标准答案[纯手打翻译] :
有4条病狗,推理过程如下:
(1)假设有1条病狗,那么狗就会在一天内死亡,因为病狗主人发现别人都是好狗,就可以推出自己狗是病狗了。所以这样的话第一天就会把狗用枪扫射。因此,假设不成立。
(2)假设有2条病狗,那么狗就会在第二天死亡,因为病狗主人会发现别人有一只病狗,就以为自己是好狗,于是等待一天,发现没有枪声,于是就推出病狗>1,自己发觉有别人只有一只病狗,所以自己狗是病狗了。所以这样的话第二天就会把狗用枪扫射。因此,假设不成立。
(3)假设有3条病狗,那么狗就会在第三天死亡,因为病狗主人会发现别人有二只病狗,就以为自己是好狗,于是等待一天,发现没有枪声,于是就推出病狗>1,自己发觉有别两只病狗,所以再等待一天。到了下一天,没有枪声,于是主人知道病狗数>2,所以自己狗是病狗了。所以这样的话第三天就会把狗用枪往死里打。因此,假设不成立。
(4)假设有4条病狗,那么狗就会在第四天死亡,因为病狗主人会发现别人有三只病狗,就以为自己是好狗,于是等待一天,发现没有枪声,于是就推出病狗>1,自己发觉有别两只病狗,所以再等待一天。到了下一天,没有枪声,于是主人知道病狗数>2,所以还等待一天。又到下一天,会知道病狗数>3,所以自己狗是病狗了。所以这样的话第四天就会把狗杀死。因此,假设成立。
答案还是不怎么标准,各位陈独秀赶快加入解密另类版吧!
网友评论