几道趣题

conan

最近看到这个网站 http://gurmeet.net/puzzles/很不错啊,有很多有意思的谜题,而且还有详细的答案,最下面还给了些其他的谜题网站,然后今天终于把所有题看完了,有一些经常见到的题,也有一些第一次见的题,我挑出几道有意思的和大家分享一下。

1、有红,绿,黄三种颜色的球各两个,每种球都分为轻球和重球,三个轻球一样重,三个重球一样重,天平称两次,找到三个重球。

2、三个人每人带了一个白帽子或者黑帽子,三个人要同时,每人都要么声明自己帽子的颜色要么是什么都不说,如果有人声明,并且所有的声明都是正确的,他们可以赢得游戏,如何实现决定一种策略使得赢的概率大于二分之一。

3、有两条路,一条通往正确的地方,一条是错误的,路前有两个人,一个总是说真话,一个总是说谎话,如何只问一个问题找到正确的路;假设现在有三个人,一个总说真话,一个总说假话,第三个人有时说真话有时说假话,如何问两个问题找到正确的路。

4、Alice想了一个1-1000范围内的一个整数,Bob可以询问一个数,Alice会告诉Bob正确的数比Bob的询问大了还是小了,如果Bob询问的数大了,Alice会等概率的在1-1000内重新选择一个数,Bob应该采取什么样的策略来猜数。

5、一直一个多项式f(x)所有系数都是非负整数,如何选择两个数x1,x2从f(x1),f(x2)来推断出多项式。

6、有n个人,每人头上写了一个0~n-1的数,数字有可能重复,每人都能看到别人的数,看不到自己的,所有人同时声明自己头上的数,如果有人说对就可赢得游戏,事前如何商量一种策略保证赢。

7、一堆逻辑学家围坐一起,主持人给他们带了各种颜色的帽子,并且告诉他们所有人都可以推断出自己头上帽子的颜色,然后每隔一段时间,铃声会响起,这时知道自己帽子颜色的逻辑学家就会离开座位,随着铃声不断响起,所有逻辑学家都知道了自己帽子的颜色,他们是怎么做到的。

8、8*8的01矩阵,每次可以翻转3*3或者4*4的矩阵,是否所有的8*8的01矩阵都可以被翻转成全是1。

9、一个桌子的四个角有四枚硬币,Alice无法看到硬币的状态,每次Alice可以选择翻转任意数量的硬币,如果硬币全部向上,Alice赢,否则游戏继续,并且Bob可以任意旋转桌子,Alice如何赢得游戏。

答案:

1、第一次:一边是红A+黄A,另一边红B+绿A,如果平了,说明两边都是轻+重的组合,第二次一边是红A,一边是红B,就可以知道红的哪个是重的,也就知道其他两种颜色哪个是重的;如果第一次不平,假设红A+黄A是轻的,说明红A是轻的,红B是重的,并且知道黄A小于等于绿A,第二次一边放黄A+绿A,一边放红A+红B,就可以知道黄A和绿A是轻轻,重重,轻重三种组合的哪一种,也就知道了三个重球是谁了。

2、当自己看到两个白帽子时说自己是黑帽子,当看到两个黑帽子时说自己是白帽子,其他情况什么也不说,这样只有三个全黑或三个全白才会输,胜率是四分之三。

3、两个人的问题一般大家都见过吧,一般会问“如果我问另一个人左边这条路是正确的,他会怎么回答”,这样不管怎样我们都会得到一个错误的回答,就知道正确的是什么了,看到答案还有一种巧妙的问发“如果我问你左边这条路是正确的,你会回答是吗”这种问法我们一定可以得到一个正确的答案;然后考虑三个人的情况,我们第一个问题找到一个始终说真话或者始终说假话的人,第二问和两个人情形一样,第一问我们可以问A“B说的真话比C多吗”如果回答是第二问问C,否则问B。

4、方案应该是不断询问某个数1000-n,直到Alice的数比1000-n大为止,然后依次询问1000-n+1,1000-n+2。。。,期望询问的次数为n/2+1000/n,n=sqrt(2000)时最小。

5、第一次令x1=1,得到f(1),然后找一个10^n使得大于f(1),第二次用f(10^n)就可以知道各个系数是多少了。

6、令每个人有一个0~n-1的唯一的编号,假设自己的编号是i,他看到其他所有人的总和是s,那么他只要报出(i-s)mod n即可,我们考虑所有人的总和为sum,编号为i的人头上的说是ai,那么每个人报的数就是(i-sum+ai)mod n,当编号i和总和关于n同余的时候,编号为i的人就会报出正确答案,因为sum的模n只能是0~n-1中的数,所以一定有人能报出正确答案。

7、主持人说所有人都能推断出自己帽子的颜色,所以所有的颜色至少有两个,因为如果某个颜色只有一个的话那个人无论如何无法知道自己的颜色的,因为所有颜色至少有两个,当第一遍铃响的时候,看到某个颜色只有一个的逻辑学家就会知道自己的帽子是那个颜色,他们离开之后,所有的颜色至少有三个,当第二遍铃响的时候,看到某个颜色只有两个的就知道自己的帽子是那种颜色,依次类推,所有人都会知道自己的颜色。

8、注意到8*8的所有情况有2^64中,3*3可以覆盖的情况有6*6=36种情况,4*4可以覆盖的有5*5=25种情况,所以他们总共可以覆盖的情况数为2^(36+25)=2^61种情况,所以是不能的。

9、设翻转所有的4个的动作是A,翻转一个对角线的两个的动作是B,翻转一个临边的两个的动作是C,翻转其中一个的动作是D,那么只需要ABACABADABACABA就可以保证胜利,大家可以想想为什么。

您可能喜欢:
我猜您可能还喜欢:

发表回复