level 1
村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是 人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的 狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己 家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他 人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何 推算得出?
2008年06月06日 01点06分
1
level 7
三条?如果第一天有枪响,说明有一个人发现其他人的狗都是健康的,但是第一天没有枪响,说明在第一天每个人都从其他人的狗中发现了病狗,而且不止一只。假设有只有两只病狗,分别是A和B的,那么这两个人会在第一天听有没有枪声,第一天没有枪声,A和B就能推断病狗不止一只,然而他们只能从其他人的够重发现一只病狗,于是就可以判定自己的狗有病,就会在第二天杀掉自己的狗。所以第二天枪响的话必然有2只病狗。但是第二天没有响,类推那些只看到其他有两只病狗的就知道自己的狗有病了,就会在第三天开枪。........好像就是三只
2008年06月06日 03点06分
2
level 7
呵呵,这个没办法用函数解决了.....以前上课学了C映像中就是用来数兔子腿...算杨辉三角..还有什么累加累乘....对C的理解太狭隘了,刚才查了下资料才知道.....C太牛了...
2008年06月06日 09点06分
5