數織怎麼解:一行一行推出整幅畫
閱讀約 6 分鐘 ·
數織把一幅圖藏在方格里。每行左邊和每列上方的數字,按順序給出這一行或列裡連續塗黑格子的長度。塗對了格子,圖畫就出現了。
Puzzimo 上的每道數織都能一行一行地推出來,不需要猜。這篇教程介紹完成全部工作的幾種行推理技巧。
規則
- 每個提示數字代表這一行或列裡一段連續塗黑的格子。
- 這些段按提示的順序排列,從左到右或從上到下。
- 兩段之間至少隔一個空格。
- 確定為空的格子用 ✕ 標記:它們和塗黑的格子一樣有用。
重疊法
拿一條線裡的一個長段,把它儘量往左推,再儘量往右推。兩種位置都覆蓋到的格子一定是塗黑的,不管這一段實際在哪裡。
在 10 格寬的一行裡,長度為 7 的段推到最左覆蓋第 1 到 7 格,推到最右覆蓋第 4 到 10 格,所以第 4 到 7 格一定是黑的。經驗公式:在寬度為 w 的線裡,長度為 k 的段只要 2k 大於 w,就能確定中間的 2k − w 格。
能一次填滿的線
把一條線的所有段加起來,再加上每兩段之間的一個空格。如果總數等於寬度,就只有一種排法。在 10 格寬的一行裡,提示 4 5(4 + 1 + 5 = 10)正好填滿這一行。提示 0 表示整條線都是空的:全部打 ✕。
從邊緣推
緊挨著盤面邊緣的塗黑格子屬於這條線的第一段。這一段一定從那裡開始,所以可以把它剩下的部分塗黑,並在它後面緊接著打一個 ✕。
- 提示為 3 2 的一行,第一格是黑的,那麼第 1 到 3 格塗黑,第 4 格是空的。
- 靠近邊緣的 ✕ 同樣有用:如果第一段在它前面放不下,這一段就從 ✕ 後面開始。
- 小到放不下任何剩餘段的空隙,打上 ✕。
行列交叉核對
你在一行裡塗黑或打 ✕ 的每一格,對它所在的列來說都是新資訊。數織的節奏就是:做完所有行,再做所有列,再回到行,每一輪都多知道幾格。在大盤面上,多留意剛得到新格子的線,它們最可能有進展。
解題流程
- 提示為 0 的線全部打 ✕,提示正好填滿的線全部塗黑。
- 對每條有長段的線使用重疊法。
- 從邊緣推:把碰到邊緣的段補完整。
- 給任何段都夠不到的格子,以及放不下剩餘段的空隙打 ✕。
- 在行和列之間來回推,直到圖畫完成。
練習
Puzzimo 的數織有 5×5、10×10 和 15×15 三種大小,每日挑戰是 10×10。點選或拖動塗色,用切換按鈕(或 X 鍵)改為打 ✕。在應該為空的格子上塗色,或在應該塗黑的格子上打 ✕,都算一次失誤:這一格會閃爍並被糾正,第三次失誤這一局就結束。
常見問題
數織裡的重疊法是什麼?
把一段儘量推向一個方向,再儘量推向另一個方向,兩種位置都覆蓋的格子一定是黑的。這是有長提示的線最主要的開局方法。
數織和 Picross、Griddlers 一樣嗎?
一樣。數織、Nonogram、Picross、Griddlers、Hanjie 和「按數字塗色」謎題用的都是同一套規則。
要標記空格嗎?
要。✕ 標記是一半的推理:它們說明段不能放在哪裡,也就說明了段必須放在哪裡。Puzzimo 把打錯的 ✕ 也算作失誤,所以只標你確定的格子。