遊び方 · asobikata

玩法说明

数桥(Hashiwokakero,橋をかけろ,意为“架起桥来!”)是 Nikoli 发行的逻辑谜题。用桥把所有岛连起来,让每座岛的桥数恰好等于它的数字。

一

数清桥数

岛上的数字表示有几座桥连到这里。

二

一座或两座

两座岛之间可以架一座木桥或一座朱红双桥,不能更多。

三

走直线,不交叉

桥只能横向或纵向延伸,不能穿过其他桥或岛。

四

连成一片群岛

最终每座岛都必须能到达其他所有岛。

343323

已解谜题示例

操作 操作

点击两座岛之间的水面搭一座桥,再点一次搭第二座,第三次点击则移除。

也可以从岛向相邻的岛拖动,或依次点击两座岛。

右键 / Shift + 点击可移除桥。

Ctrl Z 撤销 · Ctrl Y 重做 · H 提示

完成的岛会变绿,超出的岛会变红。卡住了?请 SAT 求解器给个提示,或检查你的桥。

幕后原理 仕組み

两座相邻岛之间每一座可能的桥 e 都对应两个布尔变量:e₁(至少一座桥)和 e₂(第二座桥),并加上 e₂ → e₁,使每种布局恰好对应一个模型。

¬e₂ ∨ e₁

数字为 n 的岛需要其变量中恰好有 n 个为真,用覆盖所有组合的子句表示。交叉的桥互相排斥:

¬h₁ ∨ ¬v₁

连通性很难用 CNF 表达,所以采用惰性添加:每当求解器返回彼此分离的岛群,就加入一条要求该岛群向外连桥的子句,然后再次求解。

生成器会随机长出一片群岛,再屏蔽已找到的解、要求求解器另找一个,以此证明唯一性。在实验室里试试不同的求解器模式吧。

よくある質問 · FAQ

数桥常见问题

什么是数桥(Hashiwokakero)?
数桥(Hashiwokakero,橋をかけろ,意为“架起桥来”),又称搭桥、Bridges 或 Hashi,是 Nikoli 发行的日本逻辑谜题。网格上有带数字的小岛,你要用横向和纵向的桥把它们连起来,使每座岛的桥数恰好等于它的数字,桥不交叉,且所有岛连成一个整体。
两座岛之间最多能架几座桥?
最多两座。位于同一行或同一列、中间没有阻隔的两座岛,可以用单桥或双桥相连。
桥可以交叉吗?
不可以。桥只能横向或纵向直线延伸,既不能和其他桥交叉,也不能越过岛。
所有岛都必须连通吗?
是的。完成的谜题中,你可以沿着桥从任意一座岛到达任意另一座岛,所有岛构成一个整体网络。
总是只有唯一解吗?
在 Hashi 上是的:每道生成的谜题都经过 SAT 求解器检查,证明不存在第二个解,所以你永远不用猜。