水排序谜题 · 攻略

Water Sort 求解指南:par 表、空杯数学与卡住扫描(2026)

slug: water-sort-solver · Last verified 2026-10-15

亲自试试 — 立即玩 水排序谜题

浏览器免费直玩,无需下载或注册。

玩 水排序谜题

最后更新:2026 年 10 月 · 在本站 Playnesta Water Sort Puzzle 实测(Playnesta 原创,MIT:js/main.js、js/levels.js、样式表、埋点桥与触控垫片)· 11 关 · 每杯容量 4 单位 · 每关 par 值 6 / 9 / 9 / 12 / 9 / 14 / 14 / 14 · 空闲杯 1 个(简单/中等)· 2 个(困难)· 撤销/重开/上下关
方法:下文每个数字都是本站已发布规则模块 js/main.js 与 js/levels.js(Playnesta 原创,MIT)里的常数,本场逐条读取并核对——不是转引第三方。已核对常数:每杯容量 4 单位;合法倒水 src→dst 要求 src 非空、dst 有空位、且 dst 为空或 top(dst) == top(src);一次倒水移动源杯顶部整段同色,但不超过目标杯空位(取两者最小);一关解完的条件是每杯要么空、要么满 4 且单色;题库共 11 关,布局冻结,min_steps(par)为 6、6、6、6、9、9、12、9、14、14、14——每关上线前都经离线求解器 BFS 验证可解且非平凡(最少 3 步)。本篇是求解层:最小步数怎么算、怎么用。操作说明看游戏页;倒水手法看 Water Sort 策略指南——如果倒水、守空杯、读顶部整段还不熟,先读那篇。

1. par 表:求解器证明了什么

par 不是估算。每关的杯子布局冻结在 js/levels.js 里,离线广度优先搜索从开局出发,把所有合法倒水序列走一遍,直到满足解完条件。第一次到达解完时的深度就是最小值——不存在更短的路线。发布版 par 就是这些最小值:

  • 简单(3 色,1 个空闲杯):第 1 关 par 6 · 第 2 关 par 6 · 第 3 关 par 6 · 第 4 关 par 6
  • 中等(4 色,1 个空闲杯):第 5 关 par 9 · 第 6 关 par 9 · 第 7 关 par 12 · 第 8 关 par 9
  • 困难(5 色,2 个空闲杯):第 9 关 par 14 · 第 10 关 par 14 · 第 11 关 par 14

第 7 关是中等里的异类(12,周围都是 9)——到那里要预留一条更长的强制链。困难三关统一 14:第二个空闲杯并没有缩短最优解,它只是让搜索活得下来。把这张表当诊断仪:步数已经超过 par、还没有一杯接近做完,说明你走的分叉是求解器永远不会走的——撤销到空杯上次还空着的位置。

2. 空闲杯数学:为什么困难之前一个缓冲就够

倒水要有地方可去,所以空闲杯数量决定了你一次能"悬空"几种颜色。数杯子:第 1–8 关是 4 管加一个空([])——1 个空闲;第 9–11 关是 5 管加两个空——2 个空闲。规律直接从布局里掉出来:

  • 1 个空闲加 3 色(简单),一次只能暂放一种颜色,另外两色归位。空杯里进了第二种颜色,这局就死了——再没有地方拆段。
  • 1 个空闲加 4 色(中等),同一个空杯要给三种没归位的颜色轮流用。所以中等惩罚开局一步错:缓冲里容不下第二个错误。
  • 2 个空闲加 5 色(困难),一个空杯当工作杯,另一个保持真缓冲。两个空杯同时装着混色,就等于回到中等的陷阱还多一种颜色——这时候重开通常比往外挖更便宜。

开局永远不要"先倒进空杯看看"。空杯的职责是空着,直到一段计划好的连续倒水需要它,用完立刻再腾空。

3. 卡住扫描:找出必走的那杯

哪杯看起来都没好倒时,按这个顺序扫一遍——求解器在每个节点检查的也是这些:

  1. 某杯顶部整段正好装满一只同色杯。 这种倒水永远没错:补全或延长一只归位杯,不消耗空杯。
  2. 某杯顶色在别杯顶部 nowhere 出现。 它的整段只有一个合法去向家族——趁目标杯还没被占,先倒过去。
  3. 一只装满的混色杯(4 单位,不止一种颜色)。 在它顶部整段离开之前,什么都落不进来,所以它的顶部整段被迫先走。选拆段最小的目标。
  4. 两种颜色抢一只杯。 其中一种必须让。撤销一步,把杯子让给 alternative 落点更少的那种颜色。

四条都不触发,说明局面需要一次临时拆段:用空杯恰好倒一次,再重扫一遍。连续两次用空杯还没进展,就是撤销的信号,不是继续试的信号。

4. 三档,三种搜索形状

规则永远不变——容量 4、同样的倒水规则、同样的解完条件——变的只是搜索空间:

  • 简单(第 1–4 关,par 6):整棵树装得进脑子。动手前把 6 步全想完;想不全 6 步,第一步就是错的。
  • 中等(第 5–8 关,par 9–12):多一种颜色,空杯还是一个。第 7 关 par 12 意味着强制链差不多是简单的两倍——中段三分之一全程守住空杯,多数分叉死在那里。
  • 困难(第 9–11 关,par 14):五色、两空杯,最优解全是 14。第二个空杯不是捷径,它是让 14 步链活下来的东西。撤销会用得更多,不会更少——这里求解器的树宽了几个数量级,人的搜索同样需要回溯。

本档能按 par 或接近 par 通关、不用每关重开,再往上升。

5. 撤销还是重开,用计数器裁决

撤销退一步,步数也退回去,短岔路免费——计数器刚过 par、手里还没一杯接近做完时,立刻撤销。重开瞬间回到冻结开局;空杯里装着混色、上面第 3 节的扫描找不到必走杯、计数器已过 par 时选重开——那个局面已经不在任何最优路径上,挖出来比重新走 6–14 步更贵。两个都不丢人:求解器自己就是靠回溯探索的,你的撤销键是同一个操作。

FAQ

本篇和 Water Sort 策略指南有什么区别?

策略指南教手法:读顶部整段、守空杯、倒整段、释放被压住的颜色、选先归位哪种颜色。本篇教它上面的求解层:冻结 par 表、空杯计数怎么判定局面死活、四步卡住扫描、怎么拿步数对 par 读数。先学手法,再学求解。

par 到底保证了什么?

par 是从冻结开局出发、合法倒水序列的最短长度,穷举证明过——不存在更短的解,且至少存在一个正好 par 步的解。它不保证你的路线短,它保证短路线存在。超过 par 几步很正常,翻倍说明开局分叉错了。

每关真的都能解完吗?

能。11 个冻结布局发布前都经 BFS 验证可解且非平凡(最少 3 步)。没有猜谜关:每个开局在倒水规则下都有一条到"全空或满 4 单色"的路线。卡住说明之前的某步关掉了选项,不是关卡坏了——撤销到空杯上次还空着的位置。

什么时候该重开而不是撤销?

最后一步或两步惹的祸、计数器没走多远、空杯最近还空过——撤销。空杯里装着混色、扫描找不到必走杯、计数器已过 par——重开:那个局面已经偏离所有最优路径,重新走 6–14 步比挖出来便宜。

为什么困难三关 par 全是 14?

因为这三个冻结布局在相同规则下(容量 4、5 色、2 空杯)算出的最小深度恰好都是 14。这是这三关开局的属性,不是上限——它告诉你难度来自链的长度,不是隐藏机关。机制和简单完全一样,只是搜索更长。

更多游戏

Playnesta 上更多免费游戏——选下一局吧。