游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 小石子

[讨论] 逻辑题目,讨论下

[复制链接]

1

主题

291

帖子

644

积分

高级会员

Rank: 4

积分
644
 楼主| 发表于 2009-7-22 15:41:00 | 显示全部楼层

Re:逻辑题目,讨论下

楼主来了,最近工作忙,没来参与讨论,大家见谅,不过楼主也不知道。您们说那多维办法我还不太理解。这个题目是我在QQ问问看到的,也是想不出最优解法。发来大家讨论下。不过这个题目有几个关键点,是不可更改的(PS这是个单纯的数学问题,不涉及什么法律了,人品问题):
1.机会只有1次,到第10天喝毒酒的挂(在宴会前,这其实就是说酒会严格按照10天周期,喝了毒酒的,就在10天后的宴会前死)
2.酒是一个也不能浪费的
3.在不浪费酒的情况下,尽量少用人
我最初讨论到998了,不过77大大给推翻了,有漏洞在。目前我的数学水平,只能讨论到999,在少的我就不知道了。有些人用的方法不是很明白,就不做知道对错了。呵呵,这题目弄的我也1,2天没休息好。

1

主题

291

帖子

644

积分

高级会员

Rank: 4

积分
644
 楼主| 发表于 2009-7-22 15:43:00 | 显示全部楼层

Re:逻辑题目,讨论下

额~~~~~~~一不留神来翻页了。时间好久了啊,一个多月的帖子了。哎,加班一个月了

4

主题

330

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2009-7-31 13:57:00 | 显示全部楼层

Re:逻辑题目,讨论下

668人
两人喝三瓶的方法
A喝1、2,B喝2、3,到第999瓶的时候用掉了666人,最后在找一个人出来喝999、1000,以及一个人喝1000、1

0

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2009-7-31 17:27:00 | 显示全部楼层

Re:逻辑题目,讨论下

40吧,30个人站立方体,然后10个人站对角线就好了

34

主题

425

帖子

479

积分

中级会员

Rank: 3Rank: 3

积分
479
发表于 2009-7-31 18:04:00 | 显示全部楼层

Re:逻辑题目,讨论下

10天时间有意义吗?
和1小时没区别吧?

2

主题

691

帖子

776

积分

高级会员

Rank: 4

积分
776
发表于 2009-7-31 18:31:00 | 显示全部楼层

Re:逻辑题目,讨论下

站三维坐标,需要30个人吗?

我还以为(1,1,1)这个位置,只需要1个人就够了呢。

34

主题

425

帖子

479

积分

中级会员

Rank: 3Rank: 3

积分
479
发表于 2009-7-31 18:47:00 | 显示全部楼层

Re:逻辑题目,讨论下

30个人肯定是可以了
死三个人定位一桶(两桶编号无重叠),考虑定位之后,内部还有排列组合,但用没死的人再试验(残忍)
有没有更好的呢?

34

主题

425

帖子

479

积分

中级会员

Rank: 3Rank: 3

积分
479
发表于 2009-7-31 18:52:00 | 显示全部楼层

Re:逻辑题目,讨论下

按坐标定位不可以
死人的号码还要全组合
无法定位
等待答案

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-12-11 16:21:00 | 显示全部楼层

Re:逻辑题目,讨论下

思路如下:
当1000桶酒里有1桶毒酒时,有1000种不同状态。 要用一个犯人的死/活,二进制来表示。那么需要10位,就可以唯一表达出每一种状态。因为,2^10=1024种唯一状态。

当1000桶酒里有2桶毒酒时,有1000*999=999000种状态,如果用2进制唯一表示的话,需要20位来表达。因为2^19=524288,不足以唯一表达可能的状态,  2^20=1048576种状态,因此需要20位犯人,就可以唯一表示出所有状态。
因此,正确答案就是: 20。

现在的问题是,从20个0,“0000 00000000 00000000” 到 20个1,“1111 11111111 11111111”中,每个状态都可以唯一映射两瓶毒酒的一个确定的位置。 那么喝酒的方法是什么?

解答: 把所有的状态编上号码,令每一个犯人分别对应于位数2^0, 2^1,... 2^19,编号为:1,2,4,8,16,32,。。。,2^18, 2^19, 喝酒方法就是:

假定对编号  “1111 00110011 10011001”(F 33 99 )H=第996249种状态
根据996249=1+0*2^1+0*2^2+1*2^3+...+1*2^19,  1表示让那个位数上的犯人喝酒,0表示对应位上的犯人不喝。

这样根据死掉的犯人的编号总和,就查询得出到那个状态,继而得到两瓶毒酒的确定位置。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-17 15:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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