设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3450|回复: 10
打印 上一主题 下一主题

[讨论] 一道方案设计题目【答案已公布】

[复制链接]

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

跳转到指定楼层
1
发表于 2015-2-10 09:55:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 RyanBern 于 2015-2-10 21:23 编辑

大家好,我又来发题了。

最近几天我没有怎么上RM,原因是在忙米国数学建模大赛的事情,尼玛编了3天程序,看了一天论文。现在出来整个人都不好了。
不过期间发生的一个事情挺有意思的,我和别人讨论模型是不是应该用随机游动模型(RW模型,RW是Random Walk的缩写),当时想说RW,结果顺手就打成了RM模型,可见我还是处处惦记着RM论坛的(什么鬼?)

上次似乎的那个三区撕逼大战博弈题目答案还比较清楚,不过有人总是怀疑它会进行无限循环。那个循环是不会的啊,因为有一个人的出发点是确定的,不存在三个人互相为条件的情况,所以肯定不能有循环啊。出现循环的话,不同人决策之间要相互为条件才行,例如,A的决策取决于B,B的决策取决于C,C的决策取决于A。

言归正传,这次的题目应该会有一个比较明确的答案。

第一个说出答案的同学给100糖,能解释方案原理给10~66糖。

酒柜里面有1000瓶酒,其中有1瓶是毒酒,其余999瓶是没有毒的。现在我知道这1000瓶酒中有1瓶是有毒的,但是不知道是哪一瓶,于是我要想办法给它找出来。
这种毒酒是致命,所以我不可能自己把毒酒找出来,因为等我发现毒酒的那一刻就是我死亡的时刻。而且这种毒是一种慢性毒,虽然喝下毒酒必死无疑,但是毒性发作要等到1天之后。于是我找来10只老鼠,只好让它们来替我找毒酒了。其实我本来想找更多的老鼠,但是老鼠也是生命,我不忍心残害更多无辜的生灵了。之前有人也拿老鼠做过实验,只要老鼠喝下有毒的酒,不管酒的剂量如何,它都会在1天之后毒发身亡。
更糟糕的是,留给我找出毒酒的时间并不多,因为我的酒店明天要来很多客人,他们到时候肯定要喝不少酒。我不是什么土豪,所以实在不舍得扔掉这1000瓶酒,所以我还是在1天之内把这个毒酒找出来的好。可是我要如何去做呢?

下面明确一下条件:
1.能够鉴别酒的毒性的方法只有一种,就是让老鼠去喝,然后在观察一天之后老鼠的情况。此外没有其他任何物品可以直接用来检验酒中是否有毒。
2.如果觉得道具不够,可以自行添加,不过添加的道具不允许有检测毒酒功能(例如再加10只老鼠,或者直接弄个什么毒性检测仪啥的)。这个条件大家理解一下就好,大概意思就是你只能用其他道具来辅助你的方案执行,加的道具坑爹与否一看便知。
3.老鼠只要喝了毒酒,就一定会死,不管剂量如何。死亡时间是在一天之后,也就是我的最后期限。这点一定要注意。


答案:
发这个帖子的时候,就感觉XD会抢答,VIP会撞车
答案已在VIP的帖子中说明,XD的帖子只用一行就说出了原理,果然是经常写脚本的人。
首先,酒有1000瓶,其中有1瓶有毒,所以可能的情况有1000种,而一共有10只老鼠,每只老鼠喝完酒之后,情况只有两种,死亡或生存。对10只老鼠加以区别的话,老鼠的情况一共有2^10=1024种,显然1000<1024,所以只要用老鼠死亡的组合来表示所有毒酒存在的情况即可,此题一定有答案。
首先,准备10个盘子,然后对1000瓶酒进行编号为1~1000,然后将酒的编号换算为2进制数,并用10个0/1表示,位数不够的前面拿0补上。例如,第7号酒的就为0000000111。然后,按照酒的二进制编号给10个盘子里面倒酒,相应位数为1的,就往对应位置的盘子上倒酒,位置为0的就跳过。将所有酒倒完后,将盘子里面的酒摇匀,然后分别给10只老鼠喝下去,第二天观察老鼠死亡情况。如果某老鼠死亡,则将相应位置置为1,如果存活记为0。这样第二天就得到了一个二进制数,这个二进制数代表的编号就是有毒的酒的编号。扔掉那瓶酒即可。

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-2-10 10:15:30 | 只看该作者
1000 < 2**10
剩下的就不用说了吧

点评

早该想到会这样=_=我就不该打那么多字符了QAQ  发表于 2015-2-10 10:24

评分

参与人数 2星屑 +167 收起 理由
英顺的马甲 + 1 我很赞同
RyanBern + 166 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

david_ng223 该用户已被删除
3
发表于 2015-2-10 10:17:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 2015-2-10 10:21:44 | 只看该作者
用二进制的位来表示每只老鼠•﹏•
把酒的编号转化为二进制=_=
二进制为1的位置的老鼠喝酒
例如1号酒就由0000000001第一位老鼠喝QAQ
2号酒由第0000000011第一位和第二位老鼠喝QAQ
以此类推。死掉的位就是1没死的位就是0
对!这是个0和1的故事-_-||(什么鬼

点评

来自天使的嘲讽,还嘲讽了两遍= =|||  发表于 2015-2-10 10:42
字少就是快 again kira☆~  发表于 2015-2-10 10:25
字少就是快kira☆~  发表于 2015-2-10 10:24

评分

参与人数 1星屑 +166 收起 理由
RyanBern + 166 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
5
发表于 2015-2-10 10:44:09 | 只看该作者
如果老鼠的状态是死亡,活着,活着,死亡,活着,死亡,死亡,活着,死亡,活着的话就把第602号酒丢了

把下毒者抓起来,把老鼠塞进他嘴巴逼他说出哪瓶酒有毒。
1. 由于不是检测而是直接知道答案,因此符合条件
2. 绑架工具没有一样是能测毒的,因此符合条件
3. 以各种残忍手段足以在24小时之内逼供,因此符合条件

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 我是来看删除线那部分的

查看全部评分

本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2015-2-9
帖子
70
6
发表于 2015-2-10 11:00:56 | 只看该作者
即使看到了正确答案我也不懂是什么意思
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

7
发表于 2015-2-10 12:04:00 | 只看该作者
强制喂酒,让怀孕的那10只老鼠早产,然后看哪些母老鼠和老鼠仔死了不就知道了吗···难产嘛,那也可以扔了
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
685
在线时间
661 小时
注册时间
2012-10-21
帖子
350
8
发表于 2015-2-11 08:27:38 | 只看该作者
挺有意思的,不过想问一下哈,如果毒酒的数量不是1瓶而是两瓶
当然小白鼠的数量可以增加,
那又该如何分析这个问题呢?

点评

↓ 要让每只老鼠都能去除一半可能性似乎挺难弄的呢...  发表于 2015-2-11 10:50
如果是两瓶的话,总共可能的情况就是1000*999/2=499500种,所以要按照这个方法,老鼠的数量n应该满足2^n>499500,所以估计n至少是19才行  发表于 2015-2-11 10:30
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

9
发表于 2015-2-11 10:34:12 | 只看该作者
本帖最后由 taroxd 于 2015-2-11 16:21 编辑
bloodyliao 发表于 2015-2-11 08:27
挺有意思的,不过想问一下哈,如果毒酒的数量不是1瓶而是两瓶
当然小白鼠的数量可以增加,
那又该如何分析 ...

忘了只有一天的条件了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
685
在线时间
661 小时
注册时间
2012-10-21
帖子
350
10
发表于 2015-2-11 10:59:32 | 只看该作者
前500瓶有两瓶,后500瓶没有以及反过来的情况觉得就比较复杂了……
现在变成500瓶中有2瓶毒……这要怎么用老鼠来表示?

点评

忘了只能用一天的条件了,抱歉  发表于 2015-2-11 16:21
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-10-3 12:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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