什麼是 Ripple Effect?
Ripple Effect──在日本稱為「波及效果」(Hakyuu)──是一種放數字的謎題,與數獨同出於 Nikoli 一脈。棋盤被粗牆分成形狀和大小各異的房間,像一床小籠子的拼布。一個由 N 格組成的房間必須以數字 1 到 N 填滿,每個剛好用一次,所以單格房間永遠是 1,兩格房間有 1 和 2,五格房間有 1 到 5,依此類推。
轉折──讓謎題得名的部分──是間隔規則。若同一個數字在一列或一欄出現兩次,兩個副本之間必須至少相隔那麼多格。一條線上的兩個 1 永遠不能相鄰;兩個 3 之間至少要三格;一對 5 必須相隔五格或更多。一個數字沿著它的列與欄送出一道「漣漪」,把它的雙胞胎推開,而整個謎題就是填滿每個房間與讓那些漣漪保持暢通之間的拉鋸。
- 粗牆把棋盤分成不同大小的房間。
- N 格的房間放入數字 1 到 N,各一次。
- 同一列或同一欄的相同數字必須拉開間隔。
- 兩個相同數字 n 之間至少要有 n 格。
- 所以兩個 1 不能相鄰,兩個 4 之間要有四格。
- 每一格都有一個數字,每道謎題只有一個解。
如何線上玩 Ripple Effect
點擊或輕觸一個空格來選取它,然後從棋盤下方的數字盤選一個數字,或用鍵盤輸入──只會提供符合所選格子房間的數字,所以三格房間顯示 1、2、3。再次點擊同一個數字,或用「清除」,來清空一格。給定的數字以較深的固定樣式印出,無法更改;其餘都由你來填。計數器顯示你已完成全盤多少格。
「檢查」會檢視你的棋盤,標出與唯一解不符的任何數字,但不告訴你正確值。「提示」放入一個正確的數字,「復原」退回你的步驟,「重設」清掉你所有輸入,而「解答」在你寧願研究而非求解時填出完成的棋盤。「新謎題」為你選的尺寸與難度建立新棋盤。
- 點一格,再從數字盤選一個數字或輸入。
- 只會提供符合那格房間的數值。
- 再次點同一個數字,或用「清除」,來清空一格。
- 給定的數字是固定的;檢查會標出衝突的輸入。
- 提示、復原、重設與解答在你卡住時幫忙。
互相拉扯的兩條規則
Ripple Effect 的一切都來自往不同方向拉的兩條規則。房間規則是局部而整潔的:這個籠子需要一個 1、一個 2 和一個 3,就這樣。漣漪規則是長程而具破壞性的:你在這裡放的數字沿著它的列與欄延伸,禁止同一個數字出現得太近。解謎就是同時滿足兩者──為每個房間選一種 1 到 N 的排法,同時也讓每個重複保持在正確的距離。
因為兩條規則以不同方式看棋盤,最好的著手來自讓它們互相對抗。一個房間也許在兩格都允許 2,但那一列別處某個 2 的漣漪排除了其中一個,只剩一個位置。或一列渴望它最後的 1,而除了一格之外所有空格都太靠近已放的 1。學會在「這個房間還需要什麼?」和「這條線禁止什麼?」之間切換,就是整道謎題的功夫。
- 房間規則定下一個籠子必須包含哪些數字。
- 漣漪規則控制重複能靠多近。
- 被漣漪禁止的重複,可能讓某個房間只剩一個位置放某值。
- 缺某個數字的線,可能把它逼進唯一合法的格子。
- 每一輪都在房間邏輯與線邏輯之間交替。
從小房間和 1 開始
最容易的著力點是最小的房間。單格房間是禮物:它只能是 1,所以先把它寫下。兩格和三格房間幾乎一樣友善──它們的數字小,所以漣漪短而好追蹤,而裡頭一個給定的數字往往立刻定下其餘。先掃過棋盤找這些小籠子,你就會有一把散落的固定數字可供搭建。
數字 1 值得特別注意,因為它出現在每一個房間,而它的漣漪最溫和──只是「一條線裡沒有兩個相鄰的 1」。這讓 1 既常見又容易推理:在許多列和欄裡你很快看出 1 可以和不可以去哪,而你固定的每個 1 都從它的鄰居拿走一個候選。早早釘住 1 常能撬開一個頑固的區域,因為一旦某格不能是 1,它就必須是更大的數字,而更大的數字有自己更長的漣漪要遵守。
- 單格房間永遠是 1──先把它們全填上。
- 小房間有小數字和短而容易的漣漪。
- 數字 1 在每個房間裡,且只禁止相鄰的 1。
- 固定 1 會沿著它們的線拿走候選。
- 把一格排除為 1,會逼出一個射程更長的較大數字。
數一數大數字留下的空隙
數字越大,它的漣漪越響,而這正是大數字如此有用之處。一個 4 沿著它的列與欄禁止兩側三格內的另一個 4;一個 5 清出五格;在小棋盤上,單一個大數字可以一下子把自己排除在一條線的大部分之外。當一個房間含有 4 或 5,找出那個數字能合法居住的一兩個位置,往往是打開籠子其餘部分的鑰匙。
沿著線數數是核心技巧。取一個數字,看它的副本已在哪裡,把它漣漪距離內的每一格塗暗;存活下來的就是下一個副本能去的地方。常常一列只剩放一個 3 的餘地,或一欄恰好為它的 2 留下一個合法的家。這些被迫的擺放反過來餵養房間,房間又餵養線,直到棋盤定下來。在最難的棋盤上你會同時兼顧好幾項這樣的計數,但每一步都是純邏輯──這裡的謎題都經驗證只有一個解,所以你永遠不必猜。
- 數字 n 沿著列與欄封鎖 n 格內的雙胞胎。
- 較大的數字清出更多線,所以釘得更快。
- 把每個重複的射程塗暗;存活的格子是它唯一的家。
- 某值只剩一個合法家的線,會把它逼到那裡。
- 被迫的線擺放餵養房間,房間餵養線。
Ripple Effect 從何而來
Ripple Effect 是 Nikoli 出版的眾多原創謎題之一──這家日本公司為數獨命名,並圍繞簡單優雅的規則打造了一整套邏輯謎題目錄。它的日文名「波及效果」(Hakyuu)的意思正是英文標題所說的──波及效果,擾動向外一圈圈擴散的方式──完美捕捉了謎題的核心意象:你寫下的每個數字沿著它的列與欄送出一道波,決定它的重複能落在哪裡。
如同最好的 Nikoli 謎題,Ripple Effect 從極少之中汲取巨大的深度。除了「把每個區域從 1 填到 N」之外沒有算術,只有一個額外的點子──間隔規則──然而這唯一的增添,把一道溫和的填空練習變成真正的推理謎題。它在英語中以好幾個名字流傳,包括 Ripple Effect 和單純的 Hakyuu,並成為謎題 app 與選集的常客,獻給喜歡帶幾何轉折的數獨式擺放的玩家。
Ripple Effect 與 Suguru、數獨及其他數字謎題
Ripple Effect 與 Suguru、數獨同屬一族,但把材料混得不一樣。如同 Suguru,它用 1 到 N 填不規則的房間,而非用固定的 1 到 9 之行,所以讀懂分割是一半的功夫。Suguru 禁止相同數字在一格的緊窄半徑內相觸──包括對角──而 Ripple Effect 用一個隨數字增長的距離,所以 1 幾乎像在 Suguru 裡,而 5 沿著線伸得很遠。這唯一的改變把整個解法導向沿著列與欄計數。
與經典數獨相比,Ripple Effect 完全捨棄「每個數字在每列每欄一次」的限制──一列可以有兩個 2,只要相隔夠遠──並以間隔規則和房間大小取而代之。結果在某些方面更友善(房間小,數字很少超過五),在另一些方面更刁鑽(同一個數字可以合法重複,所以你思考的是距離而非唯一性)。若你喜歡 Suguru、Kakuro 或鋸齒數獨,Ripple Effect 是容易又有成就感的下一步。
- Suguru:把房間從 1 填到 N;相同數字完全不能相觸。
- 數獨:每個數字在每列、每欄、每宮一次──不重複。
- Ripple Effect:把房間從 1 填到 N;只要以該數字拉開間隔即可重複。
- 漣漪距離隨數值增長,不同於 Suguru 的固定半徑。
- 推理關乎沿線的距離,而非嚴格的唯一性。
棋盤尺寸與難度
6x6 棋盤是學節奏的地方:少數幾個小房間、很少超過四或五的數字,以及短到一眼就能想像的漣漪。到 7x7,棋盤承載更多房間和每條線更多重複的數字,於是間隔規則開始真正派上用場,你更倚賴數空隙。8x8 棋盤是完整的謎題──許多房間、同一個數字出現好幾次的長列與長欄,以及在任一格確定之前就橫越棋盤的推理。
難度改變你一開始拿到多少數字。簡單棋盤給很多,所以大多數格子靠一次短推理就落定,進展平穩。中等把給定變稀,留下更多只有數漣漪才能決定的格子。困難把棋盤削到一組精瘦的起始數字,於是你讓房間邏輯與線邏輯對抗更久,棋盤才讓步。無論你選哪種,每個棋盤在你看到之前都由求解器解過,只保留有唯一解的──所以每道謎題永遠可純靠邏輯解出,絕不靠猜。
- 6x6──小房間與短漣漪,用來學兩條規則。
- 7x7──每條線更多重複,間隔規則真正派上用場。
- 8x8──長線與橫越整個棋盤的推理。
- 簡單、中等與困難改變給出多少數字。
- 每道謎題都經驗證只有一個解。