n700. 蝸牛的踩地雷攻略 3 (點方塊)
標籤 :
通過比率 : 58人/59人 ( 98% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-05-20 14:40

內容

要贏得一場踩地雷遊戲,你必須能在不踩到地雷的情況下,點開所有的安全方塊。

當你點開的方塊下面沒有地雷時,它會顯示一個數字,表示它周圍九宮格的範圍內有幾顆地雷。例如在下圖點開左上角 (1, 1) 的位置。

數字

如果你點開的方塊下面沒有地雷,而且周圍的九宮格範圍內也沒有地雷,那麼它會顯示一個空白的空格,而且會幫你把周圍空格也都點開。特別的是,這樣的動作是連鎖的,也就是說,如果它周圍的空格中,也有沒有數字的空格,那麼它也會把這些空格的周圍的空格也都點開,一直把所有相鄰的空白空格及其周圍的空格都點開為止。例如在下圖點開左上角 (1, 1) 的位置。

當你點開的方塊下面是地雷時,遊戲就結束了,它會顯示所有的地雷,並給你一個哭臉。例如在下圖點開 (1, 4) 的位置 (該位置顯示紙底。

假設你剛開始一局踩地雷,給你地雷的分佈位置及你所點下去的位置,請輸出它的結果。通常,在一個全新的局,第一個踩下去的位置不會有地雷。

輸入說明

輸入的第一行含有兩個正整數 𝑛, 𝑚, 𝑟, 𝑐,其中 𝑛, 𝑚 (9 ≤ 𝑛, 𝑚 ≤ 30) 分別代表地圖的高度與寛度,𝑟, 𝑐 (1 ≤ 𝑟 ≤𝑛, 1≤ 𝑐 ≤ 𝑚) 則是你點下去的空格座標。接下來有 𝑛 行,每行有 𝑚 個 # 或 *。# 是沒有地雷的格子,* 則是有地雷的格子。

輸出說明

參考範例輸出,輸出點開 𝑟, 𝑐 方塊後的結果。數字代表已翻開的格子週圍有幾個地雷,# 是未翻開的格子,_ 則是本身及週圍都沒有地雷。

範例輸入 #1
9 9 1 1
###*#####
###*#####
###*#####
#######*#
###*#####
#########
#########
####*#*##
*##*#*###
範例輸出 #1
__2######
__3######
__2######
__2######
__1######
__11#####
___1#####
1112#####
#########
範例輸入 #2
9 9 1 3
###*#####
###*#####
###*#####
#######*#
###*#####
#########
#########
####*#*##
*##*#*###
範例輸出 #2
##2######
#########
#########
#########
#########
#########
#########
#########
#########
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1K
公開 測資點#4 (10%): 1.0s , <1K
公開 測資點#5 (10%): 1.0s , <1K
公開 測資點#6 (10%): 1.0s , <1K
公開 測資點#7 (10%): 1.0s , <1K
公開 測資點#8 (10%): 1.0s , <1K
公開 測資點#9 (10%): 1.0s , <1K
提示 :
標籤:
出處:
板橋高中教學題 [管理者: snail (蝸牛) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
40992 10213129@gm. ... (喵喵醬) n700
C++
71 2024-06-22 20:32