注册 登录
编程论坛 新人交流区

一道IBM考题!

travelling 发布于 2007-10-24 22:25, 1307 次点击
   村子里有50条狗,其中必定有病狗,为了消灭病狗,村子里的人这样决定。让狗主人去检查其它的49条狗是否得病(此病不互相传染),但狗主人不能检查自己的狗,且狗主人不知道自己的狗是否得病。各人之间不能交流信息,也不能告诉得病狗主人任何信息。若某人发觉自己的狗是病狗,就将它打死,任何人没有权力打死别人的狗。第一天过去了,第二天过去了,村子里没有任何动惊,第三天传来一阵枪声,问村子里有几条病狗?
21 回复
#2
天马奔腾2007-10-24 22:28
好像再哪里看到过
#3
travelling2007-10-24 22:44
  自己好好分析一下!
#4
chengbo2262007-10-25 12:10
想了半天,没什么思路,楼主有答案没,有的话发上来,大家研究研究!
#5
wch271492007-10-25 12:20

3只
假设一只,第一天那个没看见别人的病狗的人回家就把自己的杀了,所以第一天会有枪声。
假设两只,因为第一天没有枪声,那个看到一只的病狗的就把自己的杀了,所以第二天也会有枪声。
因此,第三天有枪声,说明有三只病狗。

#6
travelling2007-10-25 12:46

楼上的很聪明啊,正确答案就是这样,分析方法也正确!如果有兴趣的去看看“一道锻炼思维的题”那个贴子。

#7
wch271492007-10-25 13:10
恩,这些题不错,有英文版的就更好了
#8
你是最美2007-10-25 13:19
好难的问题
#9
明朝时代2007-10-25 13:24
思维上是这样~~
但是好像如果都不说就不永远不知道
#10
black_cat2007-10-27 22:42
对思维很有帮助啊
#11
chuxuezhe172007-10-27 23:03
wch27149
好聪明,我想了半天才想通
牛人
#12
toyou5422007-10-27 23:08

绕得俺头昏/

十分之三
#13
ahxujin2007-10-28 00:03

很锻炼思维

#14
xueze2007-10-28 15:38

你确定答案是这样的吗? 若是一开始就假设有三只病狗~~
那些只看到别人两只病狗的回家 不也会同样就把自己的杀了吗 ? 而题目给的却是一.二天无动静,三天才有反映
感觉题目和天数的联系条件并未明确给出 !!!

#15
wch271492007-10-29 14:09
因为一开始没人知道有几只狗,只是知道有病狗,人都是希望于别人的是病狗,不是么?
#16
贰3叭2007-10-31 15:21
#17
liuzhuyu2007-10-31 15:43
不是很明白,为什么不是4只或更多?
#18
mischa2007-10-31 15:53
hoho
#19
风萧水寒2007-10-31 16:16
我太笨了,还是不知道为什么是三只,题目又没有说明每天只能发现一只
#20
josling2007-10-31 16:30
回复:(travelling)一道IBM考题!

学习

#21
风萧水寒2007-10-31 17:17
没弄懂,谁能不能再分析仔细点啊
#22
wang12682007-10-31 18:22
呵呵 是个好题目
1