作者lingpxs (跟我认真你就输了XD)
看板logic
标题Re: [讨论] IBM面试问题
时间Sun Mar 2 21:15:52 2008
如果只有一只
会有49人看到一只病狗
A村民看不到
所以A村民第一天晚上会杀了自己的狗
如果有两只
会有48人看到2只病狗
2人看到一只病狗
那两人会跟一只情况的49人一样
等看看有病狗的主人会不会杀自己的狗
如果没杀自己的狗
表示对方也看到一只病狗
但自己又看不到其他病狗
表示自己的也是病狗
所以第二天晚上两人会杀了自己的狗
而其他48人即可确定自己的狗没问题
要是有三只
如假设二 47人中有人看到3只病狗
3人看到两只病狗
这三人的想法会跟假设二中的48人想法一样
等过第二天晚上看看那两人会不会杀自己的狗
如果没有 就是对方也看到两只病狗
也就是说自己的狗也是生病的
所以第三天晚上三个人会杀了自己的狗
※ 引述《wanga (bright eyes)》之铭言:
: 请问这题该如何着手?
: ----------------------------------
: 村子中有50个人 每人有一条狗
: 在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。
: 每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。
: 观察後得到的结果不得交流,也不能通知病狗的主人。
: 主人一旦推算出自己家的是病狗就要枪毙自己的狗,
: 而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。
: 第一天,第二天都没有枪响。到了第三天传来一阵枪声,
: 问有几条病狗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.155.180
1F:推 come:村民又不知道有几只病狗 怎麽判断自己的狗有没有生病 03/14 13:42
2F:推 blatta:楼上,所以才会传来「一阵」枪声,而不是三声XD 04/21 12:05
3F:推 josa9616:简单来说 第一天 可能有发现病狗 但 知道不是自己的 04/23 00:04
4F:推 theknight:TO COME 如果在不知道自己狗有没有生病的情形下 06/17 13:10
5F:→ theknight:当然选择不开枪 06/17 13:10
6F:→ theknight:关键点在於 "至少有一只病狗" + "类似骨牌效应" 06/17 13:11