(一)
五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼,依此类推。
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?
>>>解:
首先五号是希望前面人全部死关独吞金币,所以如果只剩下四号和五号,五号是绝对反对四号的任何分发的,所以四号活命的唯一前提是前面还有人活着,四号绝对支持三号。如果一号和二号被丢下海死了,三号会提出100.0.0的分法,因为四号不管他怎么分都会支持,加上自己一票而过半。所以,如果一号死了,二号来分就会放弃三号讨好五号和四号,提出98.0.1.1的分法,由于对四号和五号来说,这个分法比三号的分法好一点,从而支持二号,依次推论,一号会放弃二号和五号讨好三号四号,97.0.1.2.0或者是放弃二号个四号讨好三号和五号,97.0.1.0.2这个题目的答案应该是97.0.1.0.2或者是97.0.1.2.0
******************************************************
(二)
用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x次天平,最多可以从y个小球中找出较轻的那个,求y与x的关系式。
>>>解:
首先想到的对半拆分,找出其中较轻的一半,然后在进行对半拆分,如此循环直到找出较轻的小球。这样得出的y与x的关系式为y = 2^x。但是,这种拆分的方式忽略了另一种情形,那就是可拆分为三份,只比较两份,定能找到较轻的那份。其思路如下:
(1)将小球拆分为个数相同的三分,找出其中任意两份进行比较。
(2)如果两份重量相等,则较轻的小球必然在第三份中,再次对第三份进行拆分比较。
(3)如果比较的其中一份较轻,则较轻的小球必然在重量较轻的小球堆了,再次对这份小球进行拆分比较。
通过上述思想,将小球拆分为3份,在相同的比较次数下,可提高小球的比较数量,因此,其y与x的关系式为:y = 3^x
***********************
(三)
有12个小球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,问如何用3次把这个小球找出来,并且求出这个小球是比其他的轻还是重。
>>>解:
************************
(四)
13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?
>>>解:注意,只是找到,而不是求出这个球并知道是重还是轻。因为12+1多了一个,所以最多只能分辨出那个球,而不能求出偏重还是偏轻。
分成4个、4个、5个,先拿两个四个上去,如果平衡,则问题出在5个那组,就在5个里任拿三个设为C1C2C3,再拿三个正常的,分别放两边,若平衡就简单啦,若不平衡,就出现C1C2C3重,或C1C2C3轻,相当于就知道那个特别的球是比较重或者比较轻啦,接下就不用说了
如果不平衡,假设现在是A重B轻,
取A1+A2+B1放天平一边(设为左边),
再取A3+A4+B2放另一边(右),
若平衡,就在B3/B4任拿一个跟C1上去称就行了,
如果不平衡,那么假设
情况一:左重
则是A1/A2/B2有问题
直接把A1A2放两边称,重的那个有问题,如果平 衡就是B2有问题
情况二:右重
就是 A3/A4/B1有问题,方法同上
************************
(五)
有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。
>>>解:
最少:11秒,不碰面 都走最近的。3 7 11 left、17 23 right
最多:24秒,3和7碰面。3 right、7 left、11 right、17 right、23 left
************************
(六)
有8瓶水,其中有一瓶有毒,最少尝试几次可以找出来。
条件不足,好像无解。
>>>解:
1~8转换成二进制
1 : 000
2 : 001
3 : 010
4 : 011
5 : 100
6 : 101
7 : 110
8 : 111
然后 3 只老鼠对应3位(各位,十位,百位),喝对应的位数上为1的瓶子。
讨论结果,死的记为1,活的记为0,最后得出老鼠的二进制数字,再转化成十进制即为结果。
***********************
(七)
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;.....其他几只猴子也都是这样分的。问:这堆桃至少有多少个?
分析:先给这堆桃子加上4个,设此时共有X个桃子,最后剩下a个桃子:
第一只猴子分完后还剩:(1-1/5)X=(4/5)X;
第二只猴子分完后还剩:(1-1/5)2X;
第三只猴子分完后还剩:(1-1/5)3X;
第四只猴子分完后还剩:(1-1/5)4X;
第五只猴子分完后还剩:(1-1/5)5X=(1024/3125)X;
得:a=(1024/3125)X;要使a为整数,X最小取3125,减去加上的4个,所以,这堆桃子最少有3121个。
**************************
(八)
我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分?
>>>解:
2^5
**************************
(九)
25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马。
>>>解:最多8次。
前5次大家都一样,排序后如下
A1,A2,A3,A4,A5
B1,B2,B3,B4,B5
C1,C2,C3,C4,C5
D1,D2,D3,D4,D5
E1,E2,E3,E4,E5
第六次,最大值比较,找出最快的马
第7次参加比赛的马匹为
A2 A3 B2 C2 D1
下面就3种第7次可能的比赛结果进行分析:
1、若第7次的比赛可能的一种结果为:
A2 A3 B2 C2 D1
此时必进入前5的是A1、A2、A3
可能进前5的是A4、A5、B1、B2、C1
则第8次为
A4、A5、B1、B2、C1
取前2名,与A1、A2、A3一直即为前5
2、若第7比赛结果为B2、A2、C2、A3、D1
此时必进入前5的是A1、B1、B2
可能进入前5的是A2、B3、B4、C1
第8次只要让这4匹马参赛就可以啦
3、若第7次比赛结果为D1、C2、A2、A3、B1
此时必进入前5的是A1、B1、C1、D1
而剩下的第5匹马只可能出现在C2、D2、E1这3匹马中,自然,让这3匹马参加第8次比赛就可以啦
总之,不管第7次的比赛结果如何,都在第8次比赛中做出适当的安排,即而可以在8次比赛后确定跑得最快的前5匹马。
***************************
(十)
宿舍内5个同学一起玩对战游戏。每场比赛有一些人作为红方,另一些人作为蓝方。请问至少需要多少场比赛,才能使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛?
>>>解:4场。
一次划分中,某方可以有1人,另一方有4人或某方有2人,另一人有3人。
要使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛,假设5个同学为A,B,C,D,E,相当有有向图的5个节点,任意两个节点间有两个方向的边连接。
即总的节点关系有(5个节点中选取两个节点)A(5,2)=5*4=20个关系。
而一次比赛(一次划分)能够生成的关系(一方两人一方三人的划分)c(2,1)*c(3,1)=2*3=6或者(一方四人一方一人的划分)c(4,1)*(c(1,1)=4*1=4,
所以一场比赛(一次划分)最多生成的关系次数为6
所以需要20/6=3.33..即至少需要4场比赛
****************************
(十一)
单词博弈
甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a < b < c <....<z),则这个人胜利。两个人都足够聪明(即如果有赢的方案,都不会选输的方案 ),甲先开始,问他能赢么?
例如: 输入 bad, 则甲可以删掉b或者a,剩余的是ad或者bd,他就赢了,输出1。 又如: 输入 aaa, 则甲只能删掉1个a,乙删掉一个a,剩余1个a,乙获胜,输出0。
>>>解:算法实现。
*****************************
*****************************
(1) 据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊,用这两个勺子在酒缸里舀酒,并倒来倒去,居然量出了2两酒,聪明的你能做到吗?
7/11 = 7
14/11 = 3
21/11 = 10
28/11 = 6
35/11 = 2 (√)
************************
(2) 如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
1+3 = 4 只需要能求出1公升即可
5/3 = 2
10/3 = 1 (√)
************************
五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼,依此类推。
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?
>>>解:
首先五号是希望前面人全部死关独吞金币,所以如果只剩下四号和五号,五号是绝对反对四号的任何分发的,所以四号活命的唯一前提是前面还有人活着,四号绝对支持三号。如果一号和二号被丢下海死了,三号会提出100.0.0的分法,因为四号不管他怎么分都会支持,加上自己一票而过半。所以,如果一号死了,二号来分就会放弃三号讨好五号和四号,提出98.0.1.1的分法,由于对四号和五号来说,这个分法比三号的分法好一点,从而支持二号,依次推论,一号会放弃二号和五号讨好三号四号,97.0.1.2.0或者是放弃二号个四号讨好三号和五号,97.0.1.0.2这个题目的答案应该是97.0.1.0.2或者是97.0.1.2.0
******************************************************
(二)
用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x次天平,最多可以从y个小球中找出较轻的那个,求y与x的关系式。
>>>解:
首先想到的对半拆分,找出其中较轻的一半,然后在进行对半拆分,如此循环直到找出较轻的小球。这样得出的y与x的关系式为y = 2^x。但是,这种拆分的方式忽略了另一种情形,那就是可拆分为三份,只比较两份,定能找到较轻的那份。其思路如下:
(1)将小球拆分为个数相同的三分,找出其中任意两份进行比较。
(2)如果两份重量相等,则较轻的小球必然在第三份中,再次对第三份进行拆分比较。
(3)如果比较的其中一份较轻,则较轻的小球必然在重量较轻的小球堆了,再次对这份小球进行拆分比较。
通过上述思想,将小球拆分为3份,在相同的比较次数下,可提高小球的比较数量,因此,其y与x的关系式为:y = 3^x
***********************
(三)
有12个小球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,问如何用3次把这个小球找出来,并且求出这个小球是比其他的轻还是重。
>>>解:
************************
(四)
13个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?
>>>解:注意,只是找到,而不是求出这个球并知道是重还是轻。因为12+1多了一个,所以最多只能分辨出那个球,而不能求出偏重还是偏轻。
分成4个、4个、5个,先拿两个四个上去,如果平衡,则问题出在5个那组,就在5个里任拿三个设为C1C2C3,再拿三个正常的,分别放两边,若平衡就简单啦,若不平衡,就出现C1C2C3重,或C1C2C3轻,相当于就知道那个特别的球是比较重或者比较轻啦,接下就不用说了
如果不平衡,假设现在是A重B轻,
取A1+A2+B1放天平一边(设为左边),
再取A3+A4+B2放另一边(右),
若平衡,就在B3/B4任拿一个跟C1上去称就行了,
如果不平衡,那么假设
情况一:左重
则是A1/A2/B2有问题
直接把A1A2放两边称,重的那个有问题,如果平 衡就是B2有问题
情况二:右重
就是 A3/A4/B1有问题,方法同上
************************
(五)
有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。
>>>解:
最少:11秒,不碰面 都走最近的。3 7 11 left、17 23 right
最多:24秒,3和7碰面。3 right、7 left、11 right、17 right、23 left
************************
(六)
有8瓶水,其中有一瓶有毒,最少尝试几次可以找出来。
条件不足,好像无解。
>>>解:
1~8转换成二进制
1 : 000
2 : 001
3 : 010
4 : 011
5 : 100
6 : 101
7 : 110
8 : 111
然后 3 只老鼠对应3位(各位,十位,百位),喝对应的位数上为1的瓶子。
讨论结果,死的记为1,活的记为0,最后得出老鼠的二进制数字,再转化成十进制即为结果。
***********************
(七)
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;.....其他几只猴子也都是这样分的。问:这堆桃至少有多少个?
分析:先给这堆桃子加上4个,设此时共有X个桃子,最后剩下a个桃子:
第一只猴子分完后还剩:(1-1/5)X=(4/5)X;
第二只猴子分完后还剩:(1-1/5)2X;
第三只猴子分完后还剩:(1-1/5)3X;
第四只猴子分完后还剩:(1-1/5)4X;
第五只猴子分完后还剩:(1-1/5)5X=(1024/3125)X;
得:a=(1024/3125)X;要使a为整数,X最小取3125,减去加上的4个,所以,这堆桃子最少有3121个。
**************************
(八)
我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分?
>>>解:
2^5
**************************
(九)
25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马。
>>>解:最多8次。
前5次大家都一样,排序后如下
A1,A2,A3,A4,A5
B1,B2,B3,B4,B5
C1,C2,C3,C4,C5
D1,D2,D3,D4,D5
E1,E2,E3,E4,E5
第六次,最大值比较,找出最快的马
第7次参加比赛的马匹为
A2 A3 B2 C2 D1
下面就3种第7次可能的比赛结果进行分析:
1、若第7次的比赛可能的一种结果为:
A2 A3 B2 C2 D1
此时必进入前5的是A1、A2、A3
可能进前5的是A4、A5、B1、B2、C1
则第8次为
A4、A5、B1、B2、C1
取前2名,与A1、A2、A3一直即为前5
2、若第7比赛结果为B2、A2、C2、A3、D1
此时必进入前5的是A1、B1、B2
可能进入前5的是A2、B3、B4、C1
第8次只要让这4匹马参赛就可以啦
3、若第7次比赛结果为D1、C2、A2、A3、B1
此时必进入前5的是A1、B1、C1、D1
而剩下的第5匹马只可能出现在C2、D2、E1这3匹马中,自然,让这3匹马参加第8次比赛就可以啦
总之,不管第7次的比赛结果如何,都在第8次比赛中做出适当的安排,即而可以在8次比赛后确定跑得最快的前5匹马。
***************************
(十)
宿舍内5个同学一起玩对战游戏。每场比赛有一些人作为红方,另一些人作为蓝方。请问至少需要多少场比赛,才能使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛?
>>>解:4场。
一次划分中,某方可以有1人,另一方有4人或某方有2人,另一人有3人。
要使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛,假设5个同学为A,B,C,D,E,相当有有向图的5个节点,任意两个节点间有两个方向的边连接。
即总的节点关系有(5个节点中选取两个节点)A(5,2)=5*4=20个关系。
而一次比赛(一次划分)能够生成的关系(一方两人一方三人的划分)c(2,1)*c(3,1)=2*3=6或者(一方四人一方一人的划分)c(4,1)*(c(1,1)=4*1=4,
所以一场比赛(一次划分)最多生成的关系次数为6
所以需要20/6=3.33..即至少需要4场比赛
****************************
(十一)
单词博弈
甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a < b < c <....<z),则这个人胜利。两个人都足够聪明(即如果有赢的方案,都不会选输的方案 ),甲先开始,问他能赢么?
例如: 输入 bad, 则甲可以删掉b或者a,剩余的是ad或者bd,他就赢了,输出1。 又如: 输入 aaa, 则甲只能删掉1个a,乙删掉一个a,剩余1个a,乙获胜,输出0。
>>>解:算法实现。
*****************************
*****************************
(1) 据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊,用这两个勺子在酒缸里舀酒,并倒来倒去,居然量出了2两酒,聪明的你能做到吗?
7/11 = 7
14/11 = 3
21/11 = 10
28/11 = 6
35/11 = 2 (√)
************************
(2) 如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
1+3 = 4 只需要能求出1公升即可
5/3 = 2
10/3 = 1 (√)
************************