橋をかけろ
遊び方 · 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 求解器檢查,證明不存在第二個解,所以你永遠不必用猜的。