华容道解法

华容道解法:横刀立马 81 步图解

经典布局“横刀立马”的最短解,由本站程序搜索得出。点播放或一步一步看,每一步下面都有文字说明;看懂了就去华容道在线玩亲手走一遍。

第 0 / 81

开局

张飞曹操赵云马超关羽黄忠兵兵兵兵

华容道怎么玩

  • 棋盘 4 列 5 行,共 10 块棋子:曹操 2×2,关羽是横放的 2×1,张飞、赵云、马超、黄忠是竖放的 1×2,四个兵各占 1 格,另有 2 个空格。
  • 每次把一块棋子滑进相邻的空格,可以连走几格、中途拐弯,但不能跳过别的棋子,也不能旋转。
  • 目标:把曹操移到底边正中的出口(最下面两行的中间两列),就算“曹操出关”。
  • 计步:同一块棋子连续移动只算 1 步,换一块棋子才加 1。本页的 81 步就是按这个算法。

还没玩过?先在华容道在线玩里从热身关开始,再回来看横刀立马。

这条解法的几个特点

  • 一共 81 步。只算直线滑动是 90 步,按格数算最少 116 步(那是另一条路线)。
  • 曹操一共动了 9 次,第一次动是在第 26 步——之前的 25 步都在给他腾地方。
  • 关羽(曹操脚下那块横将)动了 7 次;四个兵合计动了 37 次,是名副其实的“填缝料”。
  • 81 步里有 9 步是拐弯走的,所以只算直线滑动时步数更多。
  • 从横刀立马出发一共能走到 25,955 个不同局面,其中 964 个局面曹操已经到了出口。

关键局面

同一条路线的五个快照。照着走迷路了,就和最近的一张对照一下。

张曹赵马关黄兵兵兵兵
开局
张曹赵马关黄兵兵兵兵
第 20 步后
张曹赵马关黄兵兵兵兵
第 40 步后
张曹赵马关黄兵兵兵兵
第 60 步后
张曹赵马关黄兵兵兵兵
第 81 步后

81 步全部走法

列 A–D 从左到右,行 1–5 从上到下;格子指棋子左上角所在的位置。点任意一步,上面的演示棋盘会跳到那一步。

  1. 1.兵 B4 → B5(下)
  2. 2.兵 D5 → C5(左)
  3. 3.黄忠 D3 → D4(下)
  4. 4.关羽 B3 → C3(右)
  5. 5.马超 A3 → B3(右)
  6. 6.兵 A5 → A4(上)
  7. 7.兵 B5 → A5(左)
  8. 8.马超 B3 → B4(下)
  9. 9.关羽 C3 → A3(左 2 格)
  10. 10.兵 C4 → D3(上、右)
  11. 11.兵 C5 → C3(上 2 格)
  12. 12.马超 B4 → C4(右)
  13. 13.兵 A4 → B5(右、下)
  14. 14.关羽 A3 → A4(下)
  15. 15.兵 C3 → A3(左 2 格)
  16. 16.兵 D3 → B3(左 2 格)
  17. 17.马超 C4 → C3(上)
  18. 18.黄忠 D4 → D3(上)
  19. 19.兵 B5 → D5(右 2 格)
  20. 20.兵 A5 → C5(右 2 格)
  21. 21.关羽 A4 → A5(下)
  22. 22.兵 B3 → A4(下、左)
  23. 23.马超 C3 → B3(左)
  24. 24.黄忠 D3 → C3(左)
  25. 25.赵云 D1 → D3(下 2 格)
  26. 26.曹操 B1 → C1(右)
  27. 27.张飞 A1 → B1(右)
  28. 28.兵 A3 → A1(上 2 格)
  29. 29.兵 A4 → A2(上 2 格)
  30. 30.马超 B3 → A3(左)
  31. 31.张飞 B1 → B3(下 2 格)
  32. 32.曹操 C1 → B1(左)
  33. 33.赵云 D3 → D1(上 2 格)
  34. 34.黄忠 C3 → D3(右)
  35. 35.兵 C5 → C3(上 2 格)
  36. 36.兵 D5 → C4(左、上)
  37. 37.关羽 A5 → C5(右 2 格)
  38. 38.张飞 B3 → B4(下)
  39. 39.马超 A3 → A4(下)
  40. 40.兵 C3 → A3(左 2 格)
  41. 41.曹操 B1 → B2(下)
  42. 42.兵 A1 → C1(右 2 格)
  43. 43.兵 A2 → B1(上、右)
  44. 44.兵 A3 → A1(上 2 格)
  45. 45.马超 A4 → A2(上 2 格)
  46. 46.张飞 B4 → A4(左)
  47. 47.兵 C4 → B5(左、下)
  48. 48.曹操 B2 → B3(下)
  49. 49.兵 C1 → B2(下、左)
  50. 50.赵云 D1 → C1(左)
  51. 51.黄忠 D3 → D1(上 2 格)
  52. 52.曹操 B3 → C3(右)
  53. 53.兵 B2 → B3(下)
  54. 54.兵 B1 → B2(下)
  55. 55.兵 A1 → B1(右)
  56. 56.马超 A2 → A1(上)
  57. 57.张飞 A4 → A3(上)
  58. 58.兵 B5 → A5(左)
  59. 59.兵 B3 → B5(下 2 格)
  60. 60.曹操 C3 → B3(左)
  61. 61.黄忠 D1 → D3(下 2 格)
  62. 62.赵云 C1 → D1(右)
  63. 63.兵 B1 → C1(右)
  64. 64.兵 B2 → C2(右)
  65. 65.马超 A1 → B1(右)
  66. 66.张飞 A3 → A1(上 2 格)
  67. 67.曹操 B3 → A3(左)
  68. 68.兵 C2 → C4(下 2 格)
  69. 69.兵 C1 → C3(下 2 格)
  70. 70.赵云 D1 → C1(左)
  71. 71.黄忠 D3 → D1(上 2 格)
  72. 72.兵 C4 → D3(右、上)
  73. 73.关羽 C5 → C4(上)
  74. 74.兵 B5 → D5(右 2 格)
  75. 75.兵 A5 → C5(右 2 格)
  76. 76.曹操 A3 → A4(下)
  77. 77.兵 C3 → A3(左 2 格)
  78. 78.兵 D3 → B3(左 2 格)
  79. 79.关羽 C4 → C3(上)
  80. 80.兵 C5 → D4(上、右)
  81. 81.曹操 A4 → B4(右)

华容道通用解题思路

  • 倒着想:曹操要往下走,正下方必须先空出一个 2×2。先想清楚哪些棋子得离开、能去哪里。
  • 先解决关羽。横将挡在曹操脚下时,前期大部分步数都是为了把他挪到一边。
  • 让两个空格挨在一起。分开的两个空格只能挪兵;连成 1×2 的空位,竖将和横将才动得了。
  • 兵是“填缝料”。暂时用不上的兵停到角落,需要时再拿出来补位。
  • 曹操可以横着走、甚至往回退一步。步数多的布局里,曹操常常得先让路。
  • 记住管用的套路:找到一段能让曹操下降一行的走法,后面多半还会再用到。

其它经典布局的最少步数

下表的布局都能在华容道在线玩里直接打开,最少步数同样由搜索得出(按同一块连续移动算一步):

  • 张曹赵兵兵兵兵马关黄
    齐头并进
    最少 60 步 · 第 7 关
  • 张曹赵兵关兵马兵兵黄
    指挥若定
    最少 70 步 · 第 8 关
  • 兵曹兵张赵关马兵兵黄
    兵分三路
    最少 72 步 · 第 9 关
  • 张曹赵马关黄兵兵兵兵
    横刀立马
    最少 81 步 · 第 10 关

注意别和数字华容道搞混:那是 4×4 的数字推盘,要把 1 到 15 排好顺序,解法完全不同。

常见问题

横刀立马最少几步?

81 步。按“同一块棋子连续移动(可以走多格、可以拐弯)算一步”的通行算法,本站用广度优先搜索在找到第一个解之前检查了 23,845 个局面,因此不存在更短的走法。

为什么有人说 90 步或 116 步?

数法不同。每次直线滑动算一步时最少是 90 步;每移动一格算一步时最少是 116 步。棋局是同一个,只是“尺子”不一样。

81 步的走法只有一种吗?

不是。四个小兵形状一样、可以互换,很多步之间先后顺序也能对调,所以同样长度的走法有很多条。本页展示的是其中一条。

下面的走法怎么看?

棋盘的列从左到右记为 A、B、C、D,行从上到下记为 1 到 5。每一步写出棋子名、它左上角所在格的起点和终点,以及滑动方向;“下 2 格”表示往下连走两格。

看完解法想自己试试?

打开华容道在线玩的第 10 关(横刀立马),照着走一遍;也可以不看解法自己玩,再和 81 步比一比。

数字华容道也能用这个解法吗?

不能。数字华容道是 4×4 的数字推盘,目标是把数字排好顺序,解法是“一行一行、最后两行按列”的分层法,详见数字华容道页面。