首页
社区
课程
招聘
[原创]最近微博里很热的1000瓶子10小白鼠找毒药问题
发表于: 2012-3-29 22:27 7139

[原创]最近微博里很热的1000瓶子10小白鼠找毒药问题

2012-3-29 22:27
7139
收藏
免费 0
支持
分享
最新回复 (28)
雪    币: 102
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
老鼠1喝:4,5,2
老鼠2喝:2,3
老鼠3喝:1,3,5;
0表示活,1表示死
000 不可能
001 1号有毒
010 不可能
011 3号有毒
100 4号有毒
101 5号有毒
110 2号有毒
111 不可能

事实上1000个瓶子 编号未必一定要1-1000,应该可以在1-1024中任意无序不重复地选取编号。
另外1000个瓶子,测试999个应该也可以。
2012-3-30 17:40
0
雪    币: 102
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
编号是1-1000
只要1-1000循环一次就够了
每次把编号取出来,
与上0x0001,判断一次,可知该瓶是否有第一只老鼠测试。
与上0x0002,判断一次,可知该瓶是否有第二只老鼠测试。
以此类推。

算法可以有多种,上面只是随便写写
2012-3-30 17:55
0
雪    币: 275
活跃值: (51)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
28
这种算不上是另一种方法
只不过换了个形式罢了
而且你这样改动也不容易理解
不容易确定是那瓶
没这个必要了
思路不一样的才算是不同的方法啊
你这个只是换了换瓶子的编号········
2012-3-30 18:13
0
雪    币: 102
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
共5瓶(编号1-5)
老鼠1喝:4,5
老鼠2喝:2,3
老鼠3喝:1,3,5;(最少共涉及到7瓶,这种解是必然存在的)
或者
老鼠1喝:4,5,2
老鼠2喝:2,3
老鼠3喝:1,3,5;
或者
老鼠1喝:4,5,2
老鼠2喝:2,3,5
老鼠3喝:1,3,5; (绝对公平)
--------------------------------------------------------
解决问题的方法大同小异,解决问题的方案有多种。
0011对应3(二进制码),对应2(格雷码)等等。
编号就是为了与10bit二进制对应起来,至于怎么对应,二进制码最基本,最简单。
2012-3-30 18:53
0
游客
登录 | 注册 方可回帖
返回
//