一道困難的非圖形(nonogram)謎題,是每一步推理都至關重要、且無法靠猜測達到唯一解答的那種——而這正是受限的 5x5 圖像邏輯格、加上有序連續段線索、雙失誤檢查規則,以及一個經過機械驗證的單一答案,對你所要求的。「困難」與格數大小無關,而是取決於規則對半成品有多嚴厲,以及解答被嚴格限制在一張圖的程度。Lizely Nonogram 鎖定了全部 25 格,強制執行有序連續段之間至少間隔一格空白、拒絕對未完成的版面計分,並且只在你的最終標記與獨立逐列候選與欄位前綴回溯器已證明存在的唯一解答完全吻合時,才頒發剛好 1,000 點。正是這種組合,把一個小謎題變成貨真價實的邏輯練習。

hard nonogram puzzles
困難的非圖形謎題:為何 5x5 仍可能擊敗你

為何 5x5 仍算得上困難

非圖形謎題的難度通常以格數大小描述,但真正讓版面變難的,是約束與自由格的比例。在 Lizely Nonogram 中,每一行與每一欄都受到公開線索的完整約束。列線索為 2;1, 2;3;1, 1;以及 3, 1。欄線索為 2, 1;1, 1, 1;4;2;以及 2。沒有任何一列或一欄擁有能讓猜測過關的空白線索。要解開版面,你必須依序放置每個連續段,並在相鄰區塊之間保留至少一格空白,直到列線索與欄線索在同一時間對相同的 25 格達成一致。

受限的唯一性證明,是這個 5x5 仍要求細心作業的第二個原因。解題器只生成每條有序線索所允許的線條樣式、由左至右放置連續段、同時保留段與段之間必要的空白格,然後逐列回溯,並以已放置的前綴去篩選每一欄的候選樣式。一旦任何欄位找不到相容候選,該分支立即關閉;若發現第二組解答,搜尋也會提前停止。對這組精確的線索組合而言,解題器得出的解答數是一。這證明了圖樣的唯一性,卻不必掃描 25 格所有可能的黑白配置(共 33,554,432 種),同時也證明你所標記的每一格都只有一種站得住腳的詮釋。

你所使用的線索表

以下是 Lizely Nonogram 所採用的精確線索配置。請將這些視為唯一重要的輸入;圖樣本身則由每個列與欄約束的交集所隱含。

線條有序連續段長度線索強制要求的最小格數
第 1 列22
第 2 列1, 24
第 3 列33
第 4 列1, 13
第 5 列3, 15
第 1 欄2, 14
第 2 欄1, 1, 15
第 3 欄44
第 4 欄22
第 5 欄22

線索 1, 2 代表一個填滿格出現在兩個填滿格的區塊之前;兩個區塊不能相鄰。線索 3 代表一段由三格填滿格組成的單一連續區塊。「線索強制要求的最小格數」這一欄,是該線索在相鄰連續段被強制空白格隔開時所能佔用的最小足跡——在你確認任何放置之前,這是個方便的快速健全性檢查。

解讀有序連續段與「單格間隔」規則

有兩條規則主導著每一步推理。第一,列線索依出現順序列出各獨立填滿區塊的長度。線索 1, 2 是一段長度為一的區塊,接著——在至少一格空白之後——是第二段長度為二的區塊。第二,不同區塊之間必定存在至少一格空白,這代表一條「3, 1」線索至少佔用五格,而非四格。這個區別正是初學者在較難版面上最常犯錯的來源。

Lizely Nonogram 同樣使用三種明確的格子狀態。未知代表你尚未做出決定;填滿代表該格屬於圖樣的一部分;標記為空代表你已將該格排除。「標記為空」屬於解題過程的一部分,而非裝飾。每個格本身就是一個原生按鈕,帶有描述其所在列、欄與目前狀態的標籤,而線索版面採用受限的欄寬與正方格,使整個版圖能容納在狹窄的行動裝置容器內而無需水平捲動。這代表「連續段與間隔」的推理過程,在你所使用的螢幕上能從頭到尾完整可見。

如何攻克這道困難的非圖形謎題

  1. 從最密集的欄開始。第 2 欄的單一線索為 1, 1, 1,在只有五格的欄中強制三個單格區塊並以空白隔開;其樣式相當僵固,只要確定其中兩格,第三格的位置便隨之確定。第 3 欄的線索 4 同樣嚴密——在一欄五格中放入一段四格的連續段,只會恰好留下一格空白,而該位置又會被其所橫跨的列所約束。
  2. 鎖定「連續段與間隔」的下限。每條多段線索都需要在區塊之間保留至少一格空白,因此「1, 2」線索至少佔用四格,「1, 1, 1」線索則至少佔用五格。運用此下限,先把被排除的格子標記為空,再決定把哪些格子標記為填滿。
  3. 同時對兩個軸向交叉檢查。你標記為填滿的每一格,都必須同時符合其所屬的列線索與欄線索。若某個填滿動作滿足了列線索卻違反了欄線索,請將其改為標記為空並繼續。
  4. 以第 5 列的「3, 1」作為第二個定錨點。一段三格連續段後接一段一格連續段、且兩段之間強制間隔,會用掉該列的全部五格,因此這個樣式光靠列線索就能完全決定,沒有留下任何模糊空間給欄約束去釐清。
  5. 用消去法解決第 4 列的「1, 1」。兩個單格區塊在五格中至少間隔一格空白,會留下多種擺放樣式;請將每種樣式與你已鎖定的欄線索交叉比對,直到僅剩一種存活。
  6. 在檢查之前決定每一格。Check(檢查)動作要求全部 25 格都處於「填滿」或「標記為空」狀態。未完成的版面會被回報為未完成,並保留你的失誤次數——遊戲從不因為你在思考而扣分。
  7. 僅按下 Enter(或選擇 Check picture)一次。正確的版面會頒發剛好 1,000 點並凍結每一格。標記完成卻錯誤的版面會計入一次失誤,但仍可繼續編輯,因此你可以在再次提交前重新檢視推理。
  8. 若你累計兩次標記完成卻錯誤的版面,謎題就會鎖定。Restart(重新開始)會還原為最初的未知格狀態、零分、零失誤,以及最初選定的格子,讓你從頭再來。

「雙失誤檢查」實際做了什麼

「雙失誤檢查」正是把一個小謎題抬升為困難非圖形謎題的部分。未知格不算是失誤;未完成的版面會禮貌地回應「請先完成格子的標記」訊息,且你的失誤次數不變。版面只有在每一格都已決定、且至少有一格與唯一解答不符時,才會成為一次失誤。一次標記完成卻錯誤的版面仍可編輯,因此單次推理錯誤並不會終結這局。第二次標記完成卻錯誤的版面會使謎題陷入死鎖;唯一的前進方式只有 Restart。

這種設計獎勵細心的「連續段與間隔」工作,而非盲目猜測。唯一解答的證明是可稽核的:逐列候選產生器與線段編碼器都以純函式形式公開,而驗證會在獨立的測試中執行,不會直接信任使用者介面。圖樣本身、線索配置、計分方式、介面與答案,皆為 Lizely 原創的產品選擇;唯一借用自廣義類型的,是既有的非圖形線索語法——當有多於一段時,以空白分隔的有序連續段長度。對那些想將其底層的「連續段長度」術語與獨立來源交叉比對的讀者,Conceptis 發布了其 Pic-a-Pix 規則,而 Simon Tatham 的 Portable Puzzle Collection 也記錄了其 Pattern 規則;兩者皆描述了與本謎題線索相同的有序連續段長度慣例。

完整解題的鍵盤路徑

這道謎題無需滑鼠即可完整遊玩,使其適合作為嚴肅的練習工具。方向鍵移動選定的格子;F 將其標記為填滿,X 將其標記為空,Delete 或 Backspace 將其清除回未知,Space 則循環切換三種狀態。Enter 執行 Check 動作;在共用外殼的時間窗口內連按兩次 Escape,會將謎題覆蓋為試算表樣式的工作畫面,再按兩次則會返回謎題。每個觸控動作都有對應的鍵盤指令,因此整個推理過程——包括排除標記——都能在不離開鍵盤的情況下完成。

這套鍵盤配置與廣義的非圖形類型一致,而該類型的標準動作組合是「移動、填滿、標記、循環、檢查」。由於規則簡短且格數固定,反覆練習是訓練「連續段與間隔」推理的乾淨方式:線索表永遠不會改變,因此你所犯的每一次失誤,都是一個你能明確指名的推理錯誤。

更大的格數為何反而更容易

較大的非圖形謎題通常看起來更難,實際遊玩起來卻往往更容易,因為較長的列給連續段留下了更多餘裕。在 15x15 版面上,一條「1, 2」線索只佔用十五格中的四格,留下十一格的模糊空間,可以一欄一欄地逐步縮小。但在 Lizely Nonogram 中,同樣的「1, 2」線索會佔用五格中的四格,因此任何錯誤的放置幾乎會立刻與欄約束衝突。這種緊密的耦合,正是讓這個 5x5 成為「連續段與間隔」邏輯公平考驗的原因——幾乎沒有藏住錯誤推理的空間。若你想把這種約束體驗為純粹的邏輯挑戰,而非日常苦差事,Lizely Nonogram 就是為此而生的——小到能在一個時段內完成,卻嚴格到只有唯一解答能得分。

若你正在權衡選擇,困難的一筆畫謎題:突破 8 節點奇偶陷阱對此有詳細說明。

若你正在權衡選擇,塗色方塊謎題如何計算塗色單位方塊對此有詳細說明。