CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  非技术区

一道题,请教!!(算法)

楼主shooting521(银狐)2003-06-04 02:43:39 在 C/C++ / 非技术区 提问

村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出? 问题点数:20、回复次数:11Top

1 楼shenyiwen(沈亦文)回复于 2003-06-04 06:39:25 得分 0

3Top

2 楼bigtea(企鹅)回复于 2003-06-04 08:27:08 得分 0

markTop

3 楼libi(风自吟)回复于 2003-06-04 09:21:14 得分 0

出过的题目Top

4 楼zhaohangcom(赵)回复于 2003-06-04 09:52:08 得分 0

要是强推   3   最合理  
  (因为当看到   除自己外有病狗时   不会杀死自己狗   )  
  所以  
  第1天   50   个人都看到了病狗(>=1)(所以认为自己的狗不是病狗,没有开枪)  
  第2天   还没有开枪   说明每个人看到外面的病狗数不为1(要是看到的为1   ,那么到第2天   他会推断出   自己的狗是病狗   )(>=2)  
  第3天   看到2条病狗的人,断定自己的狗是病狗(开枪)  
  Top

5 楼bigtea(企鹅)回复于 2003-06-04 10:18:22 得分 0

不能理解,  
  第2天   还没有开枪   说明每个人看到外面的病狗数不为1(要是看到的为1   ,那么到第2天   他会推断出   自己的狗是病狗   )(>=2)?Top

6 楼ewayne(...)回复于 2003-06-04 10:52:15 得分 0

关注!Top

7 楼saker(非越)回复于 2003-06-04 12:19:17 得分 0

如果第一天开腔,只能有一枪;也就是只能有一个人看到其他所有的狗都是没有病的,而推测自己的是病狗而开腔  
   
  如果第二天有人开腔,只能是两枪;也就是第一天没有人开腔,说明所有人都看到病狗了,而不能确定自己的狗是不是病狗,而第二天有枪声,一定是因为有人看到了一只病狗,这样的人有两个人,其余的人看到的都是两只病狗,这样那两个看到一只的,就把自己的狗杀掉了  
   
  如果第三天有人开腔,只能是三枪;说明看到三只狗的回暂时认为自己的狗不是病狗,而看到两只狗的人,就可以确定自己的狗是病狗了,这样的人回有三个,也就是这天会有三枪。  
   
  依次类推了。。。Top

8 楼wjt2000(堂堂正正做男人)回复于 2003-06-04 13:32:00 得分 20

 
  下面的结论不知对否?  
  第几天有枪声就有几只病狗!  
   
  如果有1只病狗,设主人为a,  
  则第一天看不到其他的疯狗,判断自己的狗为病狗,然后开枪!  
   
  如果有2只病狗,设主人为a,b,  
  第一天:a,b均看到对方的狗,不知道自己的狗是不是病狗,不开枪  
  第二天:a想:我看到b的狗是病狗,第一天他没开枪,则b也看到一只病狗,其他人的狗是好的,则只有我的狗是病的,于是开枪!b:同理。  
   
  如果有3只,设主人为a,b,c  
  第一天:a,b,c都看到2只病狗,不知自己的狗是不是病狗,不开枪!  
  第二天:a想:第一天bc没开枪,则他们无法推断自己的狗的情况,如果今天他们开枪则我的狗是好的,如果一直没开枪,则他们仍然无法推断自己的狗的情况,要等到今天结束才能推出自己的狗的情况。第二天结束时:a:bc不开枪,则他们也看到2只病狗,对于b来说,自己的狗看不到,则只有c和我的狗是并的,明天开枪!  
  bc同理  
  第三天:abc开枪!  
   
  如果有4只:狗的主人(设为abcd)至少要三天来推断自己的狗是不是病狗。  
   
  a想:我看到三只病狗,如果在第三天他们的主人开枪(bcd需要到第二天结束后才能判断自己的狗),则我的狗是好的,如果不开枪,则他们在第三天结束之前无法判断自己狗的情况,既和我一样也看到三只病狗,则我的狗也是病狗,第四天我开枪!  
  bcd同理  
  于是abcd等到第四天开枪!!  
   
  依次类推......  
   
  Top

9 楼Lovell(不畏浮云遮望眼,飞来峰上有晴天)回复于 2003-06-04 18:27:39 得分 0

量子力学的道理确实正确.观察而不交流已经改变了世界.也可以由此得出最终的结论来.Top

10 楼callzjy((草魚))回复于 2003-06-05 01:20:36 得分 0

gzTop

11 楼bigtea(企鹅)回复于 2003-06-05 07:11:35 得分 0

噢,明白了,谢谢,看来我应该给分啊,呵呵。  
  不过,这些村民至少也得具备推理能力了。Top

相关问题

  • 一道算法题
  • 一道算法题
  • 问一道算法题
  • 大家来看一道算法题?
  • 给大家出一道算法题?
  • 一道算法题,请高手帮忙
  • 诚心请教一道算法题^_^
  • 一道简单的算法题
  • 一道算法题!请用SQLSERVER来做!:)
  • 一道算法题,请看看

关键词

  • 狗
  • 病
  • 开枪
  • 看到
  • 开腔
  • 第三天
  • 主人
  • 同理
  • 枪声
  • 推断

得分解答快速导航

  • 帖主:shooting521
  • wjt2000

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo