橋をかけろ
遊び方 · asobikata
玩法说明
数桥(Hashiwokakero,橋をかけろ,意为“架起桥来!”)是 Nikoli 发行的逻辑谜题。用桥把所有岛连起来,让每座岛的桥数恰好等于它的数字。
一
数清桥数
岛上的数字表示有几座桥连到这里。
二
一座或两座
两座岛之间可以架一座木桥或一座朱红双桥,不能更多。
三
走直线,不交叉
桥只能横向或纵向延伸,不能穿过其他桥或岛。
四
连成一片群岛
最终每座岛都必须能到达其他所有岛。
已解谜题示例
操作 操作
点击两座岛之间的水面搭一座桥,再点一次搭第二座,第三次点击则移除。
也可以从岛向相邻的岛拖动,或依次点击两座岛。
右键 / 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 求解器检查,证明不存在第二个解,所以你永远不用猜。