作者lovemusic (费委员死里逃生)
看板logic
标题Re: [讨论] IBM面试问题
时间Mon Jun 2 06:29:30 2008
※ 引述《yauhh (姚呵呵)》之铭言:
: ※ 引述《josa9616 (josa)》之铭言:
: : 我的问题是 大家都看过别人的狗/背 但我不知道总共有几
: : 个 那我又要怎麽知道 我可能是 我看的的 不能告诉别
: : 人 别人也不能告诉我 他看到几只 又不知道 共几只
: : 那 怎麽知道 自己的呀
: : 有人回文说 几个人看到四只 几个人看到三只的 方式推
: : 但有着明不得交流呀 我又怎麽知道 其他人 看到几只
: 因为递回认知:
: Fact 1: 当你放眼所见全都是没病的狗,但全村的病情并未解除,
: 你马上就会杀你的狗.
: Fact 2: 你只看见一只狗有病,就会先看看狗主人是否按照Fact 1执行该做的事情,
: 他没做,就表示他也看到别人的狗有病,而依你所知推测,另一只病狗是你的,
: 於是,他会宰他的狗,你也会宰你的狗,如果他的想法与你相同.
: ...
: Fact n: 按照Fact 1到Fact n-1,应该有一天会有一些人杀他们的狗;
: 但是,在过去n-1天你所看见的n-1只狗都没事,
: 可见还要多一只该死的狗,应该是你的狗,
: 所以第 n 天,每一位见到n-1只病狗的人都会宰了自己的狗.
: newtonapple所提的条件非常重要,在所有的Fact情况都要一个共同的规则:
: 若不将狗全数宰净,病情无法解除.
关於杀狗的前提
是不是有必要加上一个关於时间限制
也就是规定每个人都会在第一天结束前看完所有的狗
而且规定每天午夜12点前会做出杀或不杀的决定
如此病狗数才能与「天数」作逻辑相关
没有对时间作限制的话
这三位主人会有人在第三天开出第一枪吗
我觉得不会
规定出时间才会让大家有默契 去推算自家狗病的可能性
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.195.30.227