找回密码
 注册
搜索
查看: 2406|回复: 6

喜欢LPC的试试,有多少条病狗(转)

[复制链接]
门派:不明
发表于 2010-4-23 17:32:16 | 显示全部楼层 |阅读模式
村里有50个人,每个人有一条狗,即有50只狗,这些狗中有病狗(不是传染病),每个人可以看除了自己的狗以外的所有狗,即49只狗。有病的狗一看就知道了,当有人推断出自己的狗是病狗的话则开枪打死自己的狗(当天知道),每人看后不准相互交流!第一天,没有枪响,第二天也没枪响,第三天,听见一阵枪响,请问村里有几只病狗,如何推算出来的?用LPC程序实现解题~~

这个是转的
我比较好奇有几只病狗
门派:不明
发表于 2010-4-23 23:04:27 | 显示全部楼层
答案:3条
  A.假设有1条病狗,病狗的主人会看到**狗都没有病,那么就知道只有自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。

     B.假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也每有枪响,说明病狗数大于2。

  由此推理,如果第三天枪响,则有3条病狗。
门派:不明
 楼主| 发表于 2010-4-24 00:35:34 | 显示全部楼层
不是这样推理的吧

B.假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也每有枪响,说明病狗数大于2。

判断出病狗数大于2应该是第一天就能推理出来的吧
门派:不明
发表于 2010-4-30 16:15:50 | 显示全部楼层
第一天不能啊,因为第一天如果只看到1条病狗,是不能判断自己的狗是否病狗的
门派:不明
 楼主| 发表于 2010-4-30 16:31:45 | 显示全部楼层
推理应该怎么推理哦?
如果只看见一条病狗 不能判断自己的狗有病 只是第一步推理吧
他应该想到如果只有他看见别人(代号X)有病狗 其他人的狗都不是 那么X会看不见病狗 X就会推理出自己的狗是病狗 就会开枪 X没有开枪 说明X也看见别人的狗有病了 这不推断出至少2条病狗了么
所以 第一天肯定能推理出至少2条病狗
门派:不明
发表于 2010-4-30 16:37:26 | 显示全部楼层
原帖由 sammiy@ts 于 2010-4-30 16:31 发表
推理应该怎么推理哦?
如果只看见一条病狗 不能判断自己的狗有病 只是第一步推理吧
他应该想到如果只有他看见别人(代号X)有病狗 其他人的狗都不是 那么X会看不见病狗 X就会推理出自己的狗是病狗 就会开枪 X没有开枪 ...


对啊  你的想法是正确的。

只不过是时间上的问题

假设x这个家伙很懒,到了晚上11:59:59才开枪呢?

所以要知道至少有2条狗的话,得到第二天。
门派:不明
 楼主| 发表于 2010-5-1 13:45:32 | 显示全部楼层
不能这样假设的哦
题目这样出 肯定是所有人都能以正常的推理进行中

如果用假设 肯定错误撒

假设大家都不会推理 然后第3天 都乱开枪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-30 22:36 , Processed in 0.032787 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表