瞎扯淡 一个比还算好玩的题目

yfractal · 2014年03月22日 · 最后由 discover 回复于 2014年03月22日 · 2344 次阅读

1000个瓶子,有一个瓶子是有毒的,鸡吃了就会在一周后死去,吃其他的没问题。

给你一周的时间,1000个瓶子,外加10只鸡,问那个瓶子是有毒的。

不是脑筋急转弯(其实原版是)。。。

共收到 5 条回复

称球吧?

2 ** 10 = 1024 > 1000

binary mask 看死了哪些鸡就知道了

#4楼 @linktoming 每个数是一个2进制编码,1000个数总共需要十位编码。方案如下: 对于数字i,对与i的二进制编码对应的鸡喂第i瓶药。比如对于数字11,二进制位是(1011),于是把第11瓶药给第1,2,4只鸡吃。 最后判断方法如下: 假设第i瓶是毒药,那么i的二进制编码对应的鸡会死掉,比如是第11瓶是毒药,那么第1,2,4只鸡会死,其他鸡对没事。通过看那些鸡死掉,合成2进制编码,得到结果。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册