规则
华容道是一盘只能推、不能拿起来的滑块棋。棋盘4 列 × 5 行共 20 格,摆 10 块棋子占掉 18 格,只留两个空格——所有腾挪都靠这两个空格。
标准棋子构成:曹操是 2×2 的大方块(要送出去的目标);关羽是 2×1 的横条;张飞、赵云、马超、黄忠是 1×2 的竖条;四个 1×1 的小卒。少数布局里关羽会换成竖的或多出一条,以该布局的实际摆法为准。
怎么走:棋子只能沿横竖四个方向滑进空格,不能斜走、不能跳、不能拿起来放到别处,也没有吃子。一颗棋子要往某方向移动,它在那个方向覆盖的所有格子都得空——所以 2×2 的曹操横挪一格,需要旁边整整一列两格同时空着。
怎么算赢:把曹操整块挪到棋盘底边中间,也就是它的左上角落在第 2 列第 4 行,棋盘上画着虚线、写着「出口」的那片就是目标区。
一步怎么算:本站采用棋界通行口径——同一颗棋子连续移动算一步,连挪两格三格、中途拐弯也只记 1 步,换一颗棋子才 +1。横刀立马「最少 81 步」说的正是这个口径;按一格一步数,同一条最优路线是 116 步。
本站这个版本的设置:
- 十个经典布局,下拉菜单里标着各自的理论最优步数(捷足先登 32、兵分三路 32、一路顺风 39、雨声淅沥 47、齐头并进 60、指挥若定 70、将拥曹营 72、横刀立马 81、层层设防 102、峰回路转 138),默认开横刀立马。
- 撤销不限次数,一路退回开局都行,步数跟着退;重开把当前布局复位。
- 答案演示:从当前局面算出一条最优路线自动走给你看,中途可随时停止接管;用过演示的这一局不计纪录。
- 纪录:每个布局各记一个最少步数,走得更少才刷新,存在本机;留个名就能换设备接着玩。
三种操作,手机电脑都行:点棋子选中、再点它要去的空格;或直接在棋子上朝一个方向滑一下;电脑上用方向键或 WASD 推动选中的棋子,手机上棋盘下方有一组方向键。
技巧
华容道难在几乎没有「局部最优」——很多时候得先把曹操往回推,才能往前。
一、先让四个卒沉下去。 开局别急着推曹操。1×1 的小卒是全盘最灵活的棋子,停在中路就是路障,沉到角落和边线上才最不碍事。经典布局正解的前十几步基本都在忙这件事:把卒疏散到两侧,中路腾出通道。
二、真正要搬的不是棋子,是那两个空格。 曹操往下走一格的前提是正下方两格都空,往左走一格的前提是左边整列两格都空。每步都该问:这一步让两个空格离目标更近了吗?
三、曹操走的是「S」形,不是直线。 正中那条路几乎永远被关羽和大将堵死。经典走法是先横挪到一侧靠边,沿侧边往下压两行,再横挪回中间进出口,画出来就是一道 S 形。想不通路线时,先假设曹操要贴着左墙或右墙下行,往往立刻就顺了。
四、关羽那条横的是全盘最大的开关。 它只有在下方两格同时空着时才能下沉,一旦下沉再横滑到一边,曹操正下方就一次腾出两格宽的通道。很多布局的转折点就是「什么时候把关羽推到侧边」这一手。
五、竖将要么贴边,要么整列让开。 1×2 的大将竖在中间两列时曹操基本动不了:要么挤到最左最右当墙,要么整颗上提下压把中间那列让出来。别让两员大将同时占着中间两列,那是死局前兆。
六、认得出常见死局形。 两个空格被拆散成对角线上的两个孤格,比 1×1 大的棋子就全动不了;四个卒全被挤到中间两列,最灵活的子反而成了最硬的堵头;曹操已压到第 3、4 行、下方横着关羽两侧各一员竖将——看着近在咫尺,其实得退回去重排。
七、卡住用撤销回到分歧点,别重开。 正解往往只在某一两手上和直觉分叉。布局按最少步数排了序,先用捷足先登、兵分三路这类三十来步的入门局练「搬空格」和「S 形路线」,再去碰横刀立马的 81 步。
常见问题
华容道横刀立马最少多少步?
81 步,公认答案,也已由计算机穷举验证不能再少。前提是口径要对:同一颗棋子连着挪几格、哪怕中途拐弯都只算一步,换一颗子才算新的一步。按一格一步数,同一条路线会被数成 116 步——网上两种数字都能见到,差别就在这里。
为什么我的棋子推不动?
因为全盘只有两个空格,而棋子前进方向上覆盖的每一格都必须是空的。曹操横着走要旁边整列两格都空,关羽往下走要下方两格同时空,只有 1×1 的小卒是「有一个空格就能动」。推不动几乎都不是操作问题,而是空格没腾到位。
华容道和数字华容道是一回事吗?
不是,两个游戏共用了一个名字。数字华容道(15 拼图)是 4×4 格里放 15 块一样大的数字块、留一个空位,把数字按顺序排好;这一页的华容道是 4×5 棋盘上放大小不同的方块、留两个空位,把最大那块送出底边。要玩数字版去 数字华容道,两边解法思路基本不通用。
实在走不出来怎么办?
点「答案演示」。程序会从你当前这个局面(不是从开局)算出最优路线,自动一步步走给你看,想接管就点「停止演示」。用过演示的这一局不计纪录,想刷成绩得重开一局自己走完。十个布局的理论最优步数都标在下拉菜单里,随时能对照自己走了多少步。
历史与冷知识
- 名字来自《三国演义》:赤壁之战后曹操兵败,取道华容道北撤,路上被关羽拦住又获放行。游戏把这段故事直接摆成了棋局。
- 华容道常和九连环、七巧板并称中国古典智力游戏的代表,但这类滑块玩具成型其实相当晚,可考的实物与图样大多出现在20 世纪前半叶。同一套机关各地都有名字:日本叫「箱入り娘」(送出去的不是曹操而是待嫁的姑娘),法国叫「L’Âne rouge」(红驴),英语世界通行 Klotski,来自波兰语 klocki(积木)。
- 横刀立马的 81 步最优解是这个游戏最著名的数字。首个有记录的 81 步走法由科普作家马丁·加德纳在 1964 年给出,后由计算机确认无法再短。今天一台普通电脑做一次广度优先搜索几百毫秒就能搜完整个状态空间——本站的「答案演示」用的正是这个办法。
- 把同形状的棋子看成可以互换,横刀立马这类布局的全部可达局面只有两万多个;老老实实把四个卒当成四颗不同的子,状态数会膨胀几十倍。这个「归并等价局面」的小技巧是写华容道求解器的第一课。
- 十块棋子在 4×5 棋盘上的合法开局多达十几万种,难度高低悬殊,本站收的十个都是有名有姓的经典摆法,公认最难的一类要一百三十多步——峰回路转就是 138 步。
- 它也是计算机专业的经典练习题:状态编码、广搜、去重哈希、路径回溯,一道题练到四样基本功。和 数独 一样,规则两句话说完,求解却能写成一整章。