# nonogram 能量區 [TOC] ## 什麼是nonogram呢? 數織(nonogram)是一種邏輯遊戲,以猜謎的方式繪畫黑白點陣圖。在一個網格中,每一行和列都有一組數,玩家需根據它們來填滿或留空格子,最後就可以由此得出一幅圖畫。例如,「4 8 3」的意思就是指該行或列上有三條獨立的線,分別佔了4、8和3格,而每條線最少要由一個空格分開。傳統上,玩家是以黑色填滿格子,和以「×」號標記一定不需要填充的格子。就此來看,這和踩地雷十分相似。但跟踩地雷不同的是,即使填錯了格子,也不會即時出局(大部分)。數織是一個NP完全的問題。 ## nonogram的解謎小技巧 ### 盡量的填充 玩家可以利用數組盡量的填充格子。 如果數字等於行高或列寛的話,該行所有格仔都要填滿。 如果不是的話,玩家則可以假設每條線只有由一個空格分隔,把線組推到可移動的空間的最盡;然後,把線組推到另一個盡頭。兩者重疊的填充部份就是一定要填充的格子。 * 例如: ![](https://i.imgur.com/Y9OiUZ7.png) 可得出這結論: ![](https://i.imgur.com/41QsIgD.png) * 又例如: ![](https://i.imgur.com/UsYvBJH.png) 可得出這結論: ![](https://i.imgur.com/ZNgdmIv.png) ### 盡量的標空 除了盡量的填充之外,玩家亦可以把一定不可能要填上的空格用「×」號標記起來,從而減少需要考慮的格子。 如果數字是零的話,該行所有格仔都需留空(玩家可用「×」號標上)。 即使不是零,玩家也可以根據已填充的格子,把線推到可移動的空間的最盡,再把線推到另一盡頭。兩者重疊的留空部份就是一定不需要填上的空格。 假設玩家因為之前的推算,現已得出以下結果: ![](https://i.imgur.com/V3GQI1O.png) 如果把線填滿,可以有以下兩個極端的可能性: ![](https://i.imgur.com/jFd7rpi.png) 因此可得出這結論: ![](https://i.imgur.com/H2uwyjp.png) 又如果該行或列中有些空格已經不足之放上任何一條線,那些空格也是可以標空的。例如: ![](https://i.imgur.com/Z3lJoNC.png) 玩家可以不用考慮右邊的空格: ![](https://i.imgur.com/VJy1Xod.png) ### 連接或分離鄰近的線 如果兩條鄰近的線由一個空格分隔的話,玩家可以用以下的推論嘗試把它填充或標空: 如果把它們連接起來,會令線條過長的話,該空格應該標空。 如果把它們分隔,會令線條數目過多的話,該空格應該填充。 例子如下: ![](https://i.imgur.com/S8Jv4KJ.png) 經過推論後: ![](https://i.imgur.com/oNfH8wY.png) 因為需要盡量的填充和標空,聰明的玩家在這例子可能會直接跳到這步: ![](https://i.imgur.com/jTJ02C7.png) ### 利用矛盾推論 在一些難度較高的遊戲中,玩家可能不能利用以上簡單的推論方法來解謎。這時玩家可以先假定一個空格為需要填上的,然後繼續解答。但當遇到矛盾的話,玩家需要把遊戲回退到假定前的狀態,因為矛盾証明了之前的假定是錯誤的。玩家亦可把該空格標空,因為它一定不是需要填充的格了。 ###### tags: `資研寒訓`
{"metaMigratedAt":"2023-06-15T19:25:04.502Z","metaMigratedFrom":"Content","title":"nonogram 能量區","breaks":true,"contributors":"[{\"id\":\"e1ee0c9e-bd6e-4880-a2bd-ae2ff6cdfd5f\",\"add\":1545,\"del\":0}]"}
    352 views