要贏得一場踩地雷遊戲,你必須能在不踩到地雷的情況下,點開所有的安全方塊。
當你點開的方塊下面沒有地雷時,它會顯示一個數字,表示它周圍九宮格的範圍內有幾顆地雷。例如在下圖點開左上角 (1, 1) 的位置。
如果你點開的方塊下面沒有地雷,而且周圍的九宮格範圍內也沒有地雷,那麼它會顯示一個空白的空格,而且會幫你把周圍空格也都點開。特別的是,這樣的動作是連鎖的,也就是說,如果它周圍的空格中,也有沒有數字的空格,那麼它也會把這些空格的周圍的空格也都點開,一直把所有相鄰的空白空格及其周圍的空格都點開為止。例如在下圖點開左上角 (1, 1) 的位置。
當你點開的方塊下面是地雷時,遊戲就結束了,它會顯示所有的地雷,並給你一個哭臉。例如在下圖點開 (1, 4) 的位置 (該位置顯示紙底。
假設你剛開始一局踩地雷,給你地雷的分佈位置及你所點下去的位置,請輸出它的結果。通常,在一個全新的局,第一個踩下去的位置不會有地雷。
輸入的第一行含有兩個正整數 𝑛, 𝑚, 𝑟, 𝑐,其中 𝑛, 𝑚 (9 ≤ 𝑛, 𝑚 ≤ 30) 分別代表地圖的高度與寛度,𝑟, 𝑐 (1 ≤ 𝑟 ≤𝑛, 1≤ 𝑐 ≤ 𝑚) 則是你點下去的空格座標。接下來有 𝑛 行,每行有 𝑚 個 # 或 *。# 是沒有地雷的格子,* 則是有地雷的格子。
參考範例輸出,輸出點開 𝑟, 𝑐 方塊後的結果。數字代表已翻開的格子週圍有幾個地雷,# 是未翻開的格子,_ 則是本身及週圍都沒有地雷。
9 9 1 1 ###*##### ###*##### ###*##### #######*# ###*##### ######### ######### ####*#*## *##*#*###
__2###### __3###### __2###### __2###### __1###### __11##### ___1##### 1112##### #########
9 9 1 3 ###*##### ###*##### ###*##### #######*# ###*##### ######### ######### ####*#*## *##*#*###
##2###### ######### ######### ######### ######### ######### ######### ######### #########
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
40992 |
|
n700 | 71 | 2024-06-22 20:32 |