每一個 Binairo(二進位謎題)盤面,都是一個只由零和一組成的 6 乘 6 網格,每一列、每一欄,以及每一條完成的線,都必須同時滿足三項規則。公布的盤面附帶八個固定的起始數字;其餘 28 個格子一開始是「未知」狀態,並隨著每次決定依序經過 0、再到 1。任何一列或一欄都不得包含三個相鄰的相同數字,而且任兩條已完成的列——或任兩條已完成的欄——都不得完全相同。這三項條件是同時適用的,因此一列可能在數量上完全平衡(三個 0 與三個 1),卻仍然不合法,因為它包含 000、111,或是與另一條已完成的列重複。正是這種組合,讓 Binairo 對初學者來說容易入門:只有兩種符號、只有三項檢查,但這三項檢查必須永遠一起套用。初學者會被這個謎題吸引,是因為每一步推論都是局部的:每個格子都位於一列與一欄之中,而這兩條線都套用同樣的三項檢查,因此單一一步幾乎總會牽動至少一個被迫確定的鄰格。

binairo (binary puzzle) for beginners
給初學者的 binairo(二進位謎題)

Binairo 概覽:6×6 網格

Binairo——也稱作 Takuzu、Tic-Tac-Logic,或直接稱為「二進位謎題」——是在一個矩形網格上進行的,每個格子都只能容納兩種符號其中之一。6×6 版本,是仍然能讓唯一性限制發揮作用的最小尺寸。在更小的 4×4 盤面上,唯一合法的平衡排列會收斂成寥寥幾種,因此第三項規則幾乎派不上用場;而在 8×8 盤面上,第一次求解就會讓網格變得令人吃力。在六列六欄的規模下,網格的格子總數維持在 36 個,能在 390 像素寬的手機檢視區內顯示、不需要水平捲動,而且每項規則都能在最初幾步內產生一個被迫確定的推論。

公布的 6×6 版面是原創的,其中八個固定數字經過精確挑選,讓整個網格只有一種唯一的完成方式。這項證明直接列舉出全部 64 種可能的六位元列,依照平衡規則與「不得三個相同相鄰」規則篩選出 14 種合法排列,接著在符合已知數字的前提下,選出六條相異的合法列,同時剔除每一個會超出平衡、或形成三個相同數字的欄前綴。這個獨立的搜尋最終只會落在恰好一個完整網格上。只要移除這八個已知數字中的任何一個並重新搜尋,每一次都會產生一個以上的完成方式,證明每一個印出來的數字都確實發揮了作用——初學者並不是在挑戰一個無解的盤面。

三項規則如何一起運作

初學者常把這三項規則當成一份檢查清單,因此錯過許多推論。把它們視為一組互相牽動的單一限制,推論速度會快得多。下表說明每項規則各自控管什麼、單獨掃過整個網格時實際在檢查什麼,以及這項規則會在什麼地方,悄悄讓一條看似合法的線變成不合法。

規則它控管什麼初學者常見陷阱
平衡每一列與每一欄,都必須恰好有三個 0 與三個 1。一條平衡的線仍然可能不合法,因為它包含 000 或 111。
不得有相同的連續任何一條線上的任何位置,都不得出現三個相鄰的相同數字。0,1,0,1 這種排列符合規則;1,1,1 則不符合,即使整條列在整體上仍然保持平衡也一樣。
唯一性任兩條已完成的列(或欄)都不得相同。即使平衡與相鄰規則都允許,一條接近完成的線上最後一個數字,仍然可能是被禁止的。

這三項規則看似彼此獨立,實際上會互相牽動。一旦您在一列中填入五個數字,第六個數字就會同時由平衡規則與唯一性規則決定——只剩下一個符號,既能補滿數量,又不會與某條已完成的列重複。

認識三種格子狀態

這個網格使用三種明確的工作狀態。一個空白格子一開始是「未知」,可以切換成 0,也可以切換成 1。點按或點擊一個可編輯的格子,就會依照這個順序在三種狀態之間循環切換。另外還有獨立的「設為 0」、「設為 1」與「清除」按鈕,可以直接控制目前選取的格子。起始數字有明顯不同的視覺樣式,無法透過點按或數值按鈕改變——這樣的區隔很重要,因為一次不小心的點擊,不會破壞題目本身的設定。每個格子都是一個原生按鈕,帶有列、欄與狀態標籤,因此即使螢幕較窄,整個網格仍然保持可讀。

鍵盤操作與觸控操作完全對應。用方向鍵移動目前選取的格子。按下 0 或 1 可以設定目前選取的可編輯格子,按 Delete 或 Backspace 可以把它清回「未知」狀態,按空白鍵可以在三種狀態間循環切換,按 Enter 則會送出整個網格進行檢查。游標到達網格邊緣時,會自動換到下一列或下一欄。共用的遊戲外殼會提供可見的分數、一個儲存在本機的最佳分數、重新開始按鈕,以及雙擊 Escape 的老闆鍵——在外殼設定的時間範圍內連按兩次 Escape,就會用一個試算表樣式的畫面蓋住謎題,再連按兩次即可返回。

在 6×6 盤面上的前五個推論

同樣這套五步驟循環,適用於您解的每一個 Binairo 盤面,包括這一個。

  1. 先確認已知數字。在填入任何東西之前,先讀完全部八個起始數字。留意哪些列已經含有三個 0 與三個 1——這些列除了剩餘的空白格子之外,其餘部分已經確定。
  2. 尋找被平衡規則迫使確定的格子。如果一列已經含有三個 0,這一列剩下的所有空白格子就必須都是 1。含有三個 1 時,同樣的推論也適用。欄的平衡完全遵循同一條規則。
  3. 套用相鄰規則。如果相鄰的兩個格子都是 0,緊接在這一對前面或後面的格子就必須是 1。0、未知、0 這種排列,會迫使中間的格子確定為 1。把數字對調,同樣的規則也適用於 1。
  4. 檢查部分完成的線是否重複。一旦一列中有五個格子已知,就把這個部分完成的列,拿去與每一條已完成的列比對。即使平衡規則與相鄰規則都允許,只要第六個數字會與另一條已完成的列重複,就是不允許的。
  5. 用 Enter 驗證。當全部 36 個格子都已經確定後,按下 Enter——或點擊「檢查網格」。唯一正確的答案會鎖定恰好 1,000 分,並凍結整個盤面。

您可以把同一套五步驟循環,重複用在每一欄上,因為欄所遵循的規則,與列完全相同。一條已完成的列,與一條已完成的欄內容相同,是被允許的,因為唯一性規則是分別在各自的方向內套用,而不是跨方向套用,因此解題過程中不要因為這種相符而拒絕它。

檢查、錯誤次數上限,以及 1,000 分的完成

檢查按鈕遵循一套清楚的「兩次犯錯」規則。如果還有任何可編輯的格子處於未知狀態,「檢查網格」會回報盤面尚未完成,並且不會增加錯誤次數——這讓您可以在不受處罰的情況下,檢視一次尚未完成的嘗試。一個已經全部填滿但不正確的盤面,會記錄一次錯誤,並且仍然可以編輯,讓您能修正推論。第二次全部填滿卻仍然不正確的檢查,會鎖死這一局,直到按下重新開始為止。唯一正確的網格會獲得恰好 1,000 分;正確完成是一個終止狀態。

無論進入哪一種終止狀態——正確完成或鎖死——每個網格按鈕、每個數值控制項、每一次檢查、每一次鍵盤編輯,以及每一次游標移動,都不會再改變遊戲狀態。重新開始會建立同一個固定謎題的全新副本,保留原本的八個已知數字,其餘格子全部回到未知,錯誤次數歸零、分數歸零,並選取第一個可編輯的格子。這個固定不變的盤面,讓結果可以重現,也讓每一次重設都完全相同。所有謎題邏輯都在瀏覽器中於本機執行——不會把任何操作或答案傳送到伺服器,不需要帳號,不會上傳任何東西,也不會要求任何裝置權限。

會拖慢您解題速度的初學者習慣

有三種習慣,比其他任何因素都更容易打斷第一次解題。第一,匆忙地循環切換格子狀態:快速點按會讓「未知」、0 與 1 之間的區別變得模糊,因此請刻意按下空白鍵,或改用「設為 0」與「設為 1」按鈕,而不是一路循環切換。第二,把唯一性規則當成事後才考慮的東西——這項規則要到後期才會發揮用處,但如果拖到最後一個數字才開始思考,往往會被迫重新開始。第三,在填列的同時忽略欄的平衡。每一步都必須同時顧及所在的那一列與那一欄——一個格子可能滿足所在列的平衡,卻同時讓所在欄的 0 超過三個。

第四種習慣,是在推論其實很機械化的情況下,過度依賴直覺:Binairo 獎勵的是數格子,而不是猜測圖案。第五種,是忘記欄與列各自分別套用「唯一完成」規則——一條已完成的列,與某條已完成的欄相同是沒問題的,但一條已完成的列,與另一條已完成的列相同就不行。把每一條線只當成列、或只當成欄——絕不同時當成兩者——能讓唯一性的追蹤保持單純。這個網格 390 像素寬的窄檢視區,讓每個格子都維持方形,標籤在手機上也清晰可讀,而同樣固定不變的重設方式,讓反覆練習變得有效,而不是白費工夫。請把 1,000 分的結果,當成是休閒的邏輯練習,而不是能力的分數——這個固定盤面在反覆遊玩之後會變得熟悉,而一次正確的解答,只能證明謎題規則被滿足了。一旦這套五步驟循環變得自然而然,就可以接著閱讀 Binairo 謎題:規則、操作方式與解題步驟,那裡有更完整的解題說明,同樣以這三項規則為基礎延伸開來。

這套標準的規則語言——每一列與每一欄數量相等、不得有三個相鄰的相同數字,以及已完成的線必須唯一——與其他參考資料相通,例如 Conceptis Tic-Tac-LogicPuzzle Binairo。盤面版面、計分方式、犯錯規則與介面,都是 Lizely 的原創設計,而且這個謎題完全在瀏覽器中執行,沒有任何伺服器呼叫、不需要帳號,也不涉及任何裝置權限。在 Binairo(二進位謎題) 上練習同一個盤面,能讓第一次失敗的嘗試,變成第二次更快、更乾淨的嘗試。

想更深入了解,請參閱 如何在四位元二進位遊戲中避免犯錯