生肖迷宫之如何辨别福娃衰娃

来源:互联网 发布:thinkphp5.0 商城源码 编辑:程序博客网 时间:2024/04/24 06:21

【问题描述】

这道题我借鉴了12个乒乓球问题,但解法更有意思,有11个福娃和1个衰娃,福娃吃蛋糕速度相同,衰娃不一样,用多少蛋糕把这个衰娃找出来?

(提示:为避免多余的问题,我先澄清一下:蛋糕大小相同,福娃衰娃吃速相差小于1%,肉眼难以分辨吃速,但可以准确看出哪个蛋糕先吃完、后吃完或同时吃玩,可以命令娃们开始吃和停止吃,没有表,当然可以把蛋糕掰成两半,但没有天平,不能保证两半完全相等,只能近似相等。答案5个蛋糕是给高手做的,答案4个蛋糕是给高高手的。)

==========================================

这道题是生肖迷宫出的题目,我在研究称12个小球问题原理的时候发现了这个题,就顺便研究了一下,然后给出一个答案,不知道这个答案是否出题者心中的答案,但至少个人认为,这个答案能够言之有理。

对于求解这类智力题,个人最鄙视瞎凑的,没有理论的瞎凑,即使得到结果,也不值得高兴,因为这次你得到结果,下次可能不能灵光一现,就得不到结果,不能有稳定的发挥,可能在关键时刻掉链子,误了自己大事。所以个人认为,做这种智力题的态度,是找到解题规则,按照这个规则来,完全否认智力在其中的作用,终极目标是,当知道解题原理与规则后,让一个学过数学四则运算的小学生来做,也能解出需要IQ达到200的人才能做出的题目。闲话少扯,言归正传!

========问题分析及原理===================================

这个问题与用天平秤12个小球的问题有两个本质的不同,个人认为,要使自己对这个问题有思路,就需要对这两个本质不同有一定的理解。

第一个不同之处:天平称物体,只能有三种状态,左边重,右边重以及左右平衡,它的本质是一个平衡三叉数。但是福娃吃蛋糕问题,却不止可以有三种状态,如果【情况A】一群福娃分为两堆,分别吃两个蛋糕,则只有三种状态。但是蛋糕可以大家一起吃,于是有【情况B}三组福娃(包括衰娃)分别吃三个蛋糕,在只有一个衰娃的情况下会有七种状态。

大家记住,在求解这类问题时,状态数目非常重要。这类问题如果究其本质,都是一个N叉数,然后在某种策略下,使得树的高度最小。一般而言,总的可能数是一定的,比如这个问题,总共24种可能,对12个福娃+衰娃进行编号,则24种可能分别为【1号为衰娃且吃的快】,【1号为衰娃且吃的慢】,【2号为衰娃且吃的快】,【2号为衰娃且吃的慢】,……【12号为衰娃且吃的快】,【12号为衰娃且吃的慢】。

每种状态对应于树的一个分支。上面分析的,两个蛋糕的时候有三种状态,相当于每个蛋糕平均1.5个状态,如果是三个蛋糕,则对应七种状态,则每个蛋糕对应7/3中状态,由于总的可能数是一定的,因此,分支越多,则树的高度就越小(这个树是经过设计的平衡N叉树)。所以,【情况B】比【情况A】“划算”一些。如果三个蛋糕一起吃,比两个蛋糕一起吃“划算”,那四个蛋糕一起吃,是不是更加划算?

我们再分析【情况C】四组福娃分别吃四个蛋糕,但经过分析,状态却只有9中,明显达不到要求啊。因为题目说了,四个蛋糕就可以解决问题,也就是只有这么一次吃四个蛋糕的机会,则我们需要状态达到24种才能满足要求,现在只有9种状态,明显不够啊,如何处理?这就需要用到第二个和称球问题的本质不同之处:

第二个不同之处:天平称球过程是一个瞬时的过程,但是福娃吃蛋糕是一个有过程的,也就是福娃们需要一段时间才能将蛋糕吃完。需要一段时间又能怎么样?这样就隐藏着一个可能性,就是让福娃吃一段时间后,再将其调换到另一块蛋糕上。

=====================================================================

于是就有了以下答案:

首先将12个福娃分为4组,每组有三个,分别编号命名如下:

蛋糕1

蛋糕2

蛋糕3

蛋糕4

1,2,3

4,5,6

7,8,9

10,11,12

然后等几个福娃将蛋糕吃的差不多还剩一点的时候,将他们调换顺序,调换成如下

蛋糕1

蛋糕2

蛋糕3

蛋糕4

4,7,10

1,8,11

2,5,12

3,6,9

然后我们可以得到一个吃完的先后顺序。

然后,四个蛋糕中,其中有两个是一起吃完的,另两个不一起吃完。我们以一起吃完的两个蛋糕是蛋糕1和蛋糕2为例进行说明,其余情况和这个情况是一样的,大家自行分析,则编号为1,2,3,4,5,6,7,8,10,11这九个娃为福娃,衰娃一定在编号为9,12的两个福娃中。

剩余两个不是一起吃完的蛋糕,是蛋糕3和蛋糕4。如果蛋糕3和蛋糕4是在蛋糕1与2之前吃完,则表示衰娃比福娃吃的速度快;如果蛋糕3和蛋糕4是在蛋糕1与2之后吃完,则表示衰娃比福娃吃的速度慢。

我们以衰娃吃的比福娃快来分析,此时,蛋糕3和4在蛋糕1与2之前吃完,同时,蛋糕3和蛋糕4也不是一起吃完的,如果蛋糕3先被吃完,则表示开始在蛋糕3上,后来跑的蛋糕4上的那个娃是衰娃,也就是9号是衰娃,如果蛋糕4先倍吃完,则表示开始在蛋糕4上,后来跑到蛋糕3上的那个娃是衰娃,也就是12号为衰娃。

如果衰娃比福娃吃的慢,情况正好相反,如果蛋糕3先被吃完,则表示开始在蛋糕4上,后来跑的蛋糕3上的那个娃是衰娃,也就是12号是衰娃,如果蛋糕4先倍吃完,则表示开始在蛋糕3上,后来跑到蛋糕4上的那个娃是衰娃,也就是9号为衰娃。

OK,解答完毕。

原创粉丝点击