一個 4×4 的馬賽克棋盤,盤面上有十六個帶編號的提示。解題方式是將每個方格分類為黑色或白色,直到每個提示的數字都剛好等於其裁切後的 3×3 鄰域內的黑色格子數量——這個鄰域包含提示格本身,以及所有仍在棋盤範圍內的正交與對角鄰居。在這種影像邏輯方格遊戲中,要避免常見錯誤最可靠的方法,就是熟悉三種鄰域大小、刻意運用鍵盤標記,並隨時留意每次操作後即時顯示「目前黑色數 vs. 所需黑色數」的計數器。這類謎題的錯誤通常來自:在棋盤邊緣算錯裁切後的鄰域、把提示當成 Nonogram 風格的連續長度來解讀,或是黑色格子填得太快,導致剩下的未知候選格根本無法滿足剩餘提示。解法就是使用一個固定的測試局面:每個提示都已知、每次標記都可追溯、矛盾檢查會在數學上變得不可能的那一刻立即觸發。在已揭露的局面下進行,代表解題者可以把自己的標記與得分為 840 的標準解答進行比對——而起始分數為 1,000。

馬賽克謎題如何歸入影像邏輯方格類別
影像邏輯方格遊戲涵蓋一系列推理解題格式,在這些格式中,方格中的每個格子都會得到一個提示,用來限制該格本身的顏色或內容。馬賽克謎題(也廣為人知地稱為 Fill-a-Pix)在棋盤的每個方格上放一個數字,讓這個數字描述以該提示格為中心的裁切鄰域中黑色格子的數量。Simon Tatham 的 Mosaic 文件將「包含自身的鄰域」與「包含對角線」描述為這個類型的定義規則,而 Fill-a-Pix.net 也獨立交叉驗證了相同的自我包含行為。這個謎題與 Nonogram 不同,因為提示不是針對單一線條的連續長度,而是針對一個二維區塊的計數;而且當提示越靠近棋盤邊緣時,這個區塊也會跟著縮小。
Lizely 的 馬賽克謎題所使用的 4×4 版本規則完全相同,但把它壓縮進一個十六格的棋盤,讓每個提示一目了然。這種壓縮讓它在挑戰更大的 Fill-a-Pix 棋盤之前很適合用來練習規則,而且因為局面是公開且從不隨機的,每一個錯誤也都能重現。
解題者在 4x4 提示方格上犯的五種錯誤
即使在十六格的棋盤上,少數幾個反覆出現的錯誤仍會讓大多數的初次嘗試功虧一簣。在檢視自己的解題過程時,請特別留意以下幾種模式。
- 忘記提示格本身也算入計數。許多解題者把印出的數字當成只在描述周圍的格子。提示格正是它自己 3×3 鄰域的中心,所以一個黑色的提示格永遠會為計數貢獻一格。
- 忽略對角線上的鄰居。正交與對角共八個接觸提示格的格子全部都要算。一個位於內部格子、數值為 1 的提示,可能代表鄰域中只有一個黑色的角落,而非只有一個正交鄰居是黑色。
- 在邊緣使用統一的 9 格規則。角落的提示只看見 4 格,邊緣的提示只看見 6 格,只有內部的提示才會看見全部 9 格。在邊緣處扣掉太多鄰居會導致低估數量。
- 把提示讀成 Nonogram 的連續長度。Nonogram 的提示描述的是沿著一條線的連續填入格子數;馬賽克的提示描述的是一個區塊內的計數。把這兩種慣例混為一談,是從相關邏輯方格類型遷移過來時最常見的錯誤。
- 標記黑色時沒有留意即時計數器。每個方格右下角的小計數會顯示目前的黑色總數與所需提示的對應數字。忽略這個計數器,會讓一個本來可解的棋盤變得無解。
角落、邊緣與內部的裁切鄰域大小
同一個 3×3 的視窗在接近棋盤邊緣時會失去格子,而公開的局面會直接顯示這一點。固定棋盤包含四個角落提示、八個邊緣提示,以及四個內部提示,每種位置看見的格子總數都不同。
| 提示位置 | 鄰域內的格子數 | 4x4 局面中的範例 |
|---|---|---|
| 角落 | 4(提示格加上兩個正交與一個對角) | 每個角落為 2 |
| 非角落的邊緣 | 6(提示格加上三個正交與兩個對角) | 頂部、底部、左側與右側邊帶皆為 3 |
| 內部 | 9(完整的 3x3 視窗) | 四個中央格子為 4 和 5 |
公開局面的提示列由左至右、由上至下依序為 2-3-3-2、3-5-4-3、3-4-5-3 與 2-3-3-2。每個 2 都位於角落,每個 3 都位於非角落的邊緣,而 4 與 5 則位於四個內部格子。一眼分辨出哪些提示是角落、邊緣還是內部,是避免鄰域錯誤的第一道防線。
逐步走訪十六步的標準解答局面
公開的局面可透過十六次鍵盤操作解出,並得到 840 分。請使用下列步驟來練習每一次標記,以達到乾淨的解題過程。
- 開啟馬賽克謎題棋盤。十六個未知方格會出現,每一個都印有提示數字。
- 按下方向鍵,把可見的選取位置移到左上角。角落顯示的提示為 2。
- 按下空格鍵將目前的方格標記為黑色。右下角的計數會遞增,反映新的總數。
- 使用右方向鍵沿著頂列移動,並以空格鍵標記為黑色、Enter 鍵標記為白色,直到每個黑格與白格都符合交替的棋盤格樣式。
- 在第二、第三與第四列重複同樣的模式,標記每個方格以符合標準解答:位置 0、2、5、7、8、10、13 與 15 為黑色;其餘八格為白色。
- 在已與目標相符的方格上按同一個標記鍵可以使其回到未知狀態;若改變心意,也可以使用另一個顏色鍵來覆寫先前的標記。
- 第十六次標記後,驗證會對每個提示執行。分數會從 1,000 降到 840,並回報棋盤已完成。
如果在棋盤尚未填滿時就觸發了矛盾警告,請用對應的按鍵還原最近一次的黑色標記,並檢查出現問題的提示。所謂矛盾,是指目前的黑色數已經超過提示數,或是剩下的未知格已經不足以達到提示數。
解讀矛盾警告並乾淨地重新開始
驗證會在每一次標記之後立即執行,而非只在謎題結束時執行。針對每個提示,瀏覽器會計算目前已存在的黑色格,以及仍可能變成黑色的未知格。當黑色數已經超過提示數,或黑色加上未知已無法再達到提示數時,就會回報矛盾。第一種情況抓的是「過度填入」:標記了一格為黑,導致某個提示超出目標值。第二種情況抓的是「過早排除」:在數學上仍可收斂之前,就把一個原本應為候選的格子標記為白色。
重新開始會還原十六個未知格、起始游標位置、起始分數與原始狀態,因此每一次新的嘗試都會從同一個已揭露的狀態開始。由於局面永遠不會改變,玩家可以並排比較兩次嘗試,確切找出是哪一次標記觸發了警告。最佳成績的完成紀錄可能只會儲存在瀏覽器的 localStorage 中,因此無需帳號或註冊步驟,無失誤解題紀錄就能跨工作階段持續保存。
1,000 到 840 的分數如何反映無失誤解題
起始分數為 1,000,每次標記操作會扣 10 分。乾淨的棋盤格局面正好需要十六次操作:八次黑色標記與八次白色標記。算一下數學:十六次操作、每次扣十分,會從起始的 1,000 中扣掉 160 分,最後剩下 840 分。任何額外的操作——無論是覆寫、還原或修正——都會再扣十分,所以 17 步完成會得到 830 分,20 步完成則會得到 800 分。因此分數直接反映了在通往標準解答的過程中,解題者猶豫了多少次;而公開的局面讓這個分數對所有玩家與所有工作階段都能重現。
把 840 分當作訓練目標是很有用的。一旦達成,就代表每一次標記都是第一次就正確、矛盾檢查從未觸發,且使用鍵盤時沒有任何覆寫或在「未知」狀態間反覆循環。
在瀏覽器中使用公開局面進行練習
完整的馬賽克謎題可在瀏覽器分頁中執行,支援鍵盤或滑鼠操作,無需下載、無需帳號、也沒有計時。滑鼠與觸控使用者可以點擊設為黑色,並用右鍵選單手勢設為白色;鍵盤使用者則可以雙手保持在方向鍵上,搭配空格鍵或 Enter 鍵。連按兩次 Escape 鍵會開啟一個共用的模擬試算表頭目畫面;再重複一次同樣的手勢,就能在不更動謎題的情況下恢復原狀,這也讓公開的局面能夠重複練習而不受破壞。
對於想把「避免錯誤」的思維延伸套用至其他推理解題格式的讀者而言,同樣的自我檢查方式也適用於其他小巧且固定的邏輯遊戲,例如 數學迷宮的路徑規劃,以及 找找錯過物品的掃描。兩者同樣依賴一個小巧、公開的局面、一道矛盾檢查,以及一個在標記偏離標準答案時就會下降的確定性分數。