看起来简单实际上没那么简单
智力题吧
全部回复
仅看楼主
level 1
qwepoi- 楼主
前几天看到这个华容道还原问题,有两个格子的位置是相反的,原以为只是小case,反复尝试很多次后发现无法还原。想了多天终于得到一个结论:如果不是脑筋急转弯的话(以前碰到过类似问题,游戏中存在暗道),在逻辑上是不可能还原的。
具体的推理过程如下。
2020年05月22日 09点05分 1
level 1
qwepoi- 楼主
由于我这里并没有14、15数字相反的关卡,所以我从已经还原的正常的顺序开始反着推,试试看能不能推出来。结果无论尝试多少次,推到最后总是有两组数字的位置相反。这显得很不寻常,一般而言,这种游戏无论怎么打乱总是能还原的,我开始相信并不存在答案,仅仅是作者开了一个玩笑。
2020年05月22日 09点05分 2
level 1
qwepoi- 楼主
如果不存在答案,那么意味着能调换的位置最小是两组。可以进一步推出,初始时被打乱的位置一定呈偶数组。为什么?因为只要是偶数组一定可以通过把需要调换的两组放到图二或图三的红框中采用从图一到图二或图三的移动步骤进行还原,然后怎么放进红框就怎么逆步骤反推,这样就把需要还原位置的两组给还原了,接着把下两组需要还原的数字放到红框中进行调换直至完全还原,可以说这是万能的解法。如果你不能理解这句话也没关系,举个例子。
现在需要还原12-10的位置以及15-13的位置。该怎么做呢?就采用图二的红框进行还原好了(首先你得知道从图一到图二的移动步骤)。
先把其中一组需要调换位置的数移动到图二的红框中。
接着把另一组需要调换位置的数移动到图二的红框中。(你需要记住自己是如何从图四移动到图六的)
好了,现在采用图二的移动步骤就能把红框内的数字调换位置,离完全还原只剩一步之遥。
把从图四移动到图六的步骤逆着推一遍就成功还原了。如果图中存在其他需要调换位置的数亦可采用此法。
2020年05月22日 09点05分 3
level 1
qwepoi- 楼主
现在验证下关于偶数组数字的推论。
(6-1,1-12) (14-4) (3-2,2-9,9-10,10-13,13-8,8-5,5-7)
一共有十组,满足要求。
(12-2) (13-1,1-7,7-11,11-5,5-6,6-14,14-3,3-4,4-8,8-10,10-9)
一共有12组,满足要求。
诸如此类,不胜枚举。
2020年05月22日 09点05分 4
level 1
qwepoi- 楼主
说了这么多终归是不完全归纳法,缺少强力的论证。下面就给出我的一点思考。
这个游戏的操作过程是通过空格和其他数字之间的调换来达到目的。空格从初始到还原始终都在同一位置上,如果按先后顺序把移动过程中空格所经过的位置进行连线那么是一个闭和的路径。这样的闭合路径有个特点,位置数的和一定是偶数。为什么?
分为两种情况来看,一种是移动过程中位置不重合(不考虑首尾位置相同)。
此时的路径可能是一个奇怪的多边形(不一定是4×4的地图),这种路径的对边必定成双,位置数自然也是偶数。
另一种是移动过程中位置出现重合,重合一次(奇数次)的位置的必然是偶数。重合偶数次的位置以及不重合的地方参考上述情况,结果依然是偶数。
综上,空格移动过程中的位置数之和或者说调换次数是偶数。
空格的调换次数不代表最初打乱时你数的需要调换的组数,所以还需一步论证。在移动的过程中又会出现三种情况,先前才调换过的且没有再次调换的一组数此时出现调换的位置完全重合、其中一个调换位置重合、调换位置完全不重合。
调换位置完全重合意味着之前的那次调换无效,所以总的调换次数会减去二,不影响最终是偶数。其中一个调换位置重合以及调换位置完全不重合的情况意味着总调换次数不变,同样不影响最终是偶数。
完~
2020年05月22日 09点05分 5
吧务
level 15
楼主要是学过排列的奇偶性,解决这个问题就方便了。没学过的情况下能想到这个程度,也是相当了不起了!
具体的概念不科普了,可百度之。
总之结论是这样:
空格可以看成16。(看成17也无所谓,不影响结论。就当16吧。)
把每行头尾相接,原本的方阵可以转化一个排列。
如楼主2楼第一张图的排列就是:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16;
2楼第二张图的排列就是:1、2、3、4、5、6、7、8、10、9、11、12、13、15、14、16。
而14、15对换的排列,就是:1、2、3、4、5、6、7、8、9、10、11、12、13、15、14、16;为了后面描述方便,把这个排列称为(***)
定理:交换一个排列中的两个数,则排列的奇偶性发生改变。
每一次移动,都可以看成是16与某一个数字交换。
假设2楼的图1可以移动成(***)的样子,不管过程如何,16要回到原位,就必定被移动了偶数次。
那么排列的奇偶性一定与初始状态一致。
然而(***)就相当于交换了图1排列中的两个数,所以它的奇偶性和图1肯定不一致。
所以(***)一定不能通过图1移动得到。
2020年05月22日 11点05分 6
level 1
qwepoi- 楼主
补充:
即使空格移动过程中位置不重合,空格移动次数也并不是总调换数。
一个简单的例子。移动4次,总调换数是2。因为有一次调换是无效的,被抵消。前两部等效于1和2先调换,2再和空格换;后两步等效于空格和2调换,2再和3换。
2020年05月22日 14点05分 7
1