滑块拼图怎么解:3x3、4x4和5x5分步详解
两句话讲完所有方形滑块拼图的解法,再一步一步拆解3x3、4x4和5x5:叠对技巧、识别无解棋盘的奇偶性检查,以及为什么Klotski需要另一套思路。
要解开滑块拼图,先完成最上面一行,再完成它下面一行,一直做到只剩两行;这两行从左往右一列一列地完成,最后剩下的2×2小方阵,只要让空格绕着它转圈,就会自己归位。你唯一需要的技巧,用在每一行和每一列的最后两个方块上:它们要叠成一对一起放进去,而不是一个一个放。
整个方法就这么多,3×3、4×4和5×5都通用。下面会一步一步讲清楚,还会讲到判断一个棋盘到底有没有解的奇偶性检查,以及Klotski和汽车逃脱谜题需要的另一套思路,因为这类谜题里的棋子大小不一。想找个棋盘练手,来这里玩一局:我们的免费Sliding Puzzle在浏览器里就能玩,有3x3、4x4和5x5三种尺寸,每次洗牌都保证有解。
规则:一个空格,而一半的打乱方式无解
滑块拼图是一个方框,里面摆满带数字的方块,只缺一格。任何紧挨空格的方块都可以滑进去,目标是让方块从左到右、从上到下按顺序排好,空格留在右下角。3×3的版本叫8数码,4×4的叫15数字华容道,5×5的叫24数码,名字来自里面方块的数量。
把方块撬出来再随手装回去,你能拼出的所有排列里,恰好有一半永远解不开。滑动永远不会改变一个隐藏的量,叫作奇偶性,用一支铅笔就能检查。从左到右、从上到下读出方块上的数字,跳过空格,数一数有多少对是大数排在小数前面。每一对这样的数,就是一个逆序对。
- 奇数宽度(3×3、5×5):当且仅当逆序对的个数为偶数时,拼图有解。
- 偶数宽度(4×4):再加上空格所在的行数,行从上往下数,第1行到第4行。当且仅当这个总数为偶数时,拼图有解。(如果改成从下往上数行,就需要总数为奇数。同一条规则,只是倒过来看。)
举一个3×3的例子。棋盘是1 3 _ / 4 2 5 / 7 8 6,空格在右上角。依次读出来是1、3、4、2、5、7、8、6。逆序对有:3在2前面,4在2前面,7在6前面,8在6前面,一共四个,是偶数,所以有解。四步就能解开:3向右滑,2向上滑,5向左滑,6向上滑。现在换一个已经完成的棋盘,把7和8对调。这是一个逆序对,奇数,无论怎么滑都修不好。
正是这个陷阱的4×4版本,让15数字华容道一举成名。1880年,它在美国掀起一阵热潮,谜题作家Sam Loyd后来声称自己曾拿出一笔1,000美元的奖金,悬赏能把14和15对调过的已完成棋盘复原的人。一个逆序对,加上空格在第4行,总数是5:奇数,所以不可能。这笔奖金从来就没有被领走的风险。任何像样的电子版拼图,都是从已完成的棋盘出发、靠合法移动来打乱的,所以你屏幕上那一局一定有解。被兄弟姐妹撬开过的实体拼图,就不好说了。
3×3(8数码)分四个阶段解开
行从上往下编号,列从左往右编号。“锁定”的意思是:从此以后,空格再也不经过这些格子。
- 1号方块归位。让空格绕一绕,把1带到左上角。锁定。
- 2号和3号叠成一对。把2放在右上角(那是3的位置,不是2自己的),3紧挨着放在它正下方,也就是第2行第3列。经由第2行把空格移到最上面一行的中间格,绝不能穿过角落。先把2向左滑,再把3向上滑。第一行完成,锁定。
- 4号和7号叠成一对,横过来放。把7放在4的位置(第2行第1列),4紧挨在它右边,也就是正中间。沿着最下面一行把空格移到左下角。先把7向下滑,再把4向左滑。左列完成,锁定。
- 5、6、8号:转圈。剩下的是一个2×2的小方阵,里面有三个方块和一个空格。让空格朝一个方向绕着它转,三个方块会跟着轮转,直到归位。方向对的话,最多不超过六步;如果转了一圈毫无进展,就换个方向。
为什么要叠对:如果先把2放回原位,3要进角落的唯一路线就得穿过2的位置,于是放3就会把2挤出去。先叠好再转,两步就能让两个方块同时归位。大多数人都要把一个一个放的办法试上好几遍,才肯相信这一点。我们试的次数比大多数人都多。
4×4(15数字华容道):两行、两列,最后转圈
15数字华容道的思路和上面一样,只是多了一个阶段。先按行解第1行(1到4号)和第2行(5到8号),再一列一列地解最下面两行:先9和13,再10和14,最后在剩下的2×2里把11、12和15转回原位。每一行的前两个方块都很简单,一个一个走回去就行。只有最后一对需要技巧。
一行的最后两个方块,一步一步来
下面以第1行为例,1号和2号已经归位并锁定。
- 先把4号挪开。如果4在第1行或第2行,把它移到第3行或更低的位置。这样它就不会在第2步时溜进错误的格子。
- 把3号放到右上角(第1行第4列),那是4的位置,不是3的。
- 把4号带到它正下方的格子(第2行第4列),只移动第2到第4行的方块,让3留在角落里。
- 把空格移到第2行第3列,紧挨着4号,同样不碰第1行。然后把第1行第3列上的方块往下滑进空格。现在空格就在3的位置上,3在它右边,4在3下面。
- 3向左滑,4向上滑。第1行完成,锁定。
第2行同理:5和6一个一个放进去,然后把7放到第2行第4列,8放在它下面的第3行第4列,空格移到第2行第3列,再用同样的两步:7向左,8向上。
最下面两行,一次解一列
第1行和第2行锁定之后,还剩两行,每行四格:9、10、11、12在上,13、14、15和空格在下。这里不能再按行解,因为没有多余的行可以暂放方块,所以要改成一列一列地横向推进,用的还是同一个叠对技巧,只是横过来。
- 第1列(9号和13号)。把13放在9的位置(第3行第1列),9紧挨在它右边(第3行第2列)。沿第4行把空格移到第4行第1列。先把13向下滑,再把9向左滑。锁定这一列。
- 第2列(10号和14号)。往右挪一列再来一遍:14放在第3行第2列,10放在第3行第3列,空格移到第4行第2列。14向下滑,10向左滑。锁定。
- 最后的2×2(11、12和15号)。让空格绕着这个小方阵转,直到三个方块全部归位,和3×3上的做法完全一样。只要洗牌是合法的,它们一定会归位。
这个方法靠得住,但不算短。计算机搜索最短路线时,任何一局15数字华容道都不会超过80步单格移动,而需要整整80步的局面只有17个。逐行还原要走的步数比这多,但你可以一路做下去而不用停下来想,对人来说,这比步数重要得多。
5×5(24数码)就是多了一行一列的4×4
每个更大的棋盘都能剥成比它小一号的棋盘。在5×5上,先解第1行(1到5号,4和5叠成一对),再解它下面的左列(6、11、16和21号,16和21横着叠成一对:21放在16的位置,16紧挨在它右边,空格在下方,然后21向下滑,16向左滑)。两者都锁定后,剩下的就是由7到10号、12到15号、17到20号和22到24号组成的一个4×4。照上面的方法解它即可,只是要把这些数字当作位置来读,而不是1到15。
你也可以一直按行解到第3行,再把最下面两行按列解完;两条路线最后都落在同一个2×2转圈上。5×5大约有7.76×10²⁴种可达的排列,至今还没有人确定其中最难的一种到底需要多少步。我们能找到的最新界限来自2016年,认为它在152到205步单格移动之间。
Klotski和汽车逃脱谜题需要另一套方法
逐行还原只在所有棋子大小相同时才管用。Klotski以及它所属的整个滑块谜题家族,混合了不同形状的棋子,而且根本没有哪一行要完成,因为没有一块棋子有编了号的“家”。真正重要的只有一块:你想让它逃出去的那一块。
Klotski的经典开局是一个4×5的盘子,里面有十块棋子:一个2×2的大方块在上方正中,下面横躺着一个2×1的长块,再下面是两个1×1的小方块,两侧各有两个竖着的1×2长块,最底下各有一个1×1的小方块。两个空格挨在一起,位于底部正中。目标是把2×2的大方块移到底部正中,再从框上的缺口出去。在中国,同一个谜题叫作华容道,大方块就是正在逃命的曹操。几块木头,戏份可真不少。
- 先规划目标棋子的路线。在动任何东西之前,一格一格地描出大方块(或要逃出去的车)通往出口的路径。
- 从出口往回推。看路径上的下一步:哪里必须空出来,哪块棋子挡着,这块棋子能挪到哪里。然后对挡着它的那块棋子问同样的问题。这条链条才是真正的谜题。
- 在Klotski里,让两个空格待在一起。竖着的1×2长块只能横着移进两个上下相叠的空格,横着的2×1块要上下移动则需要两个并排的空格,大方块则永远需要两个空格。把空格拆开,就会困住一半的棋子。
- 按移动的棋子数步数,而不是按格子数。在Klotski里,一块棋子滑到它能到达的任何位置都算一步,按这个算法,经典开局至少需要81步。“把这一块推到左边墙”这样的计划,比一串单格移动更容易记在脑子里。
汽车滑块谜题,也就是Rush Hour家族,又多了一条规则:每辆车都锁定在自己的车道上,所以横着停的车只能左右走。这让往回推的链条更好用了,因为每辆挡路的车最后能停的地方只有那么几个。一旦想通了这一点,接下来要练的就是减少步数,那是另一门功夫,见Rush Hour式谜题提速指南。
3x3、4x4、5x5和Klotski一览
| 拼图 | 棋盘 | 棋子 | 空格数 | 随机布局中有解的比例 | 最多需要的步数 | 方法 |
|---|---|---|---|---|---|---|
| 8数码 | 3×3 | 8个数字方块 | 1 | 一半(181,440种局面) | 31 | 先第一行,再左列,最后转动2×2 |
| 15数字华容道 | 4×4 | 15个数字方块 | 1 | 一半(10,461,394,944,000种局面) | 80 | 先第1、2行,再按列,最后转动2×2 |
| 24数码 | 5×5 | 24个数字方块 | 1 | 一半(约7.76×10²⁴种局面) | 尚无定论(152到205) | 剥掉一行一列,再按4×4来解 |
| Klotski | 4×5 | 四种尺寸共10块 | 2 | 不是打乱类谜题;经典开局有解 | 经典开局81步(移动一块算一步) | 规划大方块的路线,往回推 |
| Sliding Puzzle(我们的) | 3×3、4×4或5×5 | 数字方块或图片 | 1 | 每次洗牌在你看到之前都经过有解检查 | 按尺寸记录你的最少步数和最快用时 | 从上往下按行,再按列,最后转动2×2 |
| Car Parking(我们的) | 6×6 | 锁定在各自车道上的小汽车和厢式货车 | 因关卡而异 | 每一关都经过求解器检查 | 每关的标准步数,即求解器算出的最少步数 | 从出口往回推 |
让棋盘解不开的常见错误
- 把一行的最后两个方块一个一个放。第二个总会把第一个挤出去。叠起来再转。
- 让空格溜回已经完成的行。每去一趟都会毁掉之前的成果。如果某条路线非得这样走,就换一条路线。
- 把最下面两行当成行来解。根本没地方暂放方块。只剩两行时,改成按列解。
- 把最后的2×2当成三个独立的方块。它就是一次转圈。转起来,如果第一圈毫无变化,就换个方向。
- 数错奇偶性。不要把空格算作方块;在4×4上,别忘了加上空格所在的行数。
- 在Klotski里把两个空格拆开。较大的棋子要有两个并排的空格才能动。
在哪里在线玩滑块拼图:先玩我们的免费15数字华容道,再玩Car Parking
练上面这套方法的棋盘,就是我们自己的Sliding Puzzle,在浏览器里免费玩,无需下载,无需注册。可以选3×3、4×4或5×5,数字方块或行动主题图片都行,每次洗牌在你看到之前都会检查奇偶性,所以你永远不会碰上无解的那一半。撤销不限次数,游戏还会为每种尺寸保存你的最少步数和最快用时。它的局限:这些纪录存在你的浏览器里,清除网站数据或在无痕窗口里玩,纪录就没了。
Klotski和Rush Hour这一支,可以试试Car Parking:一个6×6的停车场,一辆被车流团团围住的金色车,每辆车都锁定在自己的车道上。一辆车换个地方停下就算一步,不管它滑了多远;240关中的每一关都显示标准步数,那是我们的求解器找到的最短解法,每关还有三次提示。它练的是从出口往回推的方法,而不是逐行还原。Getaway Garage每滑一下就让所有车辆一起动,并清除三辆一组的同色车,又是另一种谜题;如果你想听背后的故事,我们的交通堵塞谜题简史就从15数字华容道热潮讲起。
判断规则很简单。如果所有棋子大小相同,就从上往下完成每一行,剩两行时改成按列,最后转动那个小方阵。如果棋子大小不一,就挑出那块必须逃出去的棋子,从出口往回规划。第一种去4×4 Sliding Puzzle上试,第二种去Car Parking里试,两个都能在浏览器里免费玩。
常见问题
4x4滑块拼图怎么解?
先解最上面一行,再解第二行,已经完成的行绝不再动。每行的最后两个方块:把第三个方块放进角落,第四个紧挨在它正下方,把空格移到角落旁边,然后把第三个方块向左滑,第四个向上滑。最下面两行从左往右一列一列地解,用的是同一个技巧,只是横过来;最后让空格绕着剩下的2×2转,直到11、12和15归位。
滑块拼图怎么解?
从上往下逐行解,直到只剩两行,然后从左往右逐列解,最后转动剩下的2×2小方阵。每一行或每一列的最后两个方块要叠成一对一起放,而不是一个一个放。同样的方法适用于3×3、4×4和5×5的棋盘。
每个滑块拼图都有解吗?
不是。所有随机排列中,恰好有一半无解。数一数逆序对,也就是按顺序读方块时,大数排在小数前面的数对。在3×3或5×5上,逆序对个数为偶数时有解。在4×4上,再加上空格所在的行数(从上往下数,1到4);总数为偶数时有解。从已完成状态出发、靠滑动打乱的拼图,永远有解。
解滑块拼图最快的方法是什么?
对人来说,是逐行还原法加上叠对技巧:它不是最短的路线,但不需要停下来想。某个棋盘的最短解法要靠计算机搜索才能找到,这种搜索太慢,人脑根本做不来。
15数字华容道要多少步?
任何有解的15数字华容道都能在80步单格移动以内解开,而需要整整80步的局面只有17个。如果一次滑动一整排方块算一步,最多是43步。3×3的8数码从不需要超过31步单格移动。逐行还原法比最优解多走不少步,但照着做要容易得多。
什么是Klotski谜题?
Klotski是一种滑块谜题,棋盘是4×5,有四种尺寸的十块棋子和两个空格。在经典开局中,一个2×2的大方块位于上方正中,目标是把它滑到底部正中,再移出框外。经典开局至少需要81步,每块棋子滑到一个新位置算一步。
汽车滑块谜题怎么解?
从出口开始往回推。找出挡住逃生车的那辆车,想清楚它得挪到哪里,再找出挡住那个位置的车,如此类推,直到找到一辆能动的车。每辆车只能沿自己的车道移动,所以它能停的地方并不多。你可以在我们的免费网页游戏Car Parking里练习,每一关都有经过求解器检查的标准步数。
在哪里可以在线玩滑块拼图?
我们的免费Sliding Puzzle可以在任何现代浏览器里运行,无需下载,无需注册。它提供3×3、4×4(即15数字华容道)和5×5三种棋盘,可以选数字方块或图片,每次洗牌都有解,还会在那个浏览器里为每种尺寸保存你的最少步数和最快用时。


