APCS
.
)周圍的地雷數,並顯示出來。地雷用*
表示,安全方格用.
表示。n
和m
,代表地圖的行和列。n
行,每行有m
個字符,描述地圖。n = m = 0
表示輸入結束。Field #k:
,k
是測試資料的編號。0 0
為止,這表示輸入的結束。n
和m
,分別代表地圖的行數和列數。n
行,每行有m
個字符,代表地圖的具體內容,其中*
表示地雷,.
表示安全方格。*
)時,對其周圍的八個相鄰方格進行更新。每個相鄰的安全方格的提示數字加1。Field #k:
,其中k
是當前測試資料的編號。*
表示,其餘位置輸出計算的提示數字。n = m = 0
時,應立即停止程式的執行,避免進一步的無效計算。方向向量:
dx
和 dy
是用來表示相對於當前方格的八個方向(上下左右和四個對角線)的偏移量。迴圈開始與輸入讀取:
TC
用於追踪測試案例的編號。0 0
時結束。n
和列數m
,如果n
和m
都是0
,則停止輸入。地圖讀取與初始化:
field
用於存放地圖的每一行。result
用於存放處理後的結果地圖,初始化為全零的矩陣。掃描地圖與計算提示數字:
*
),將結果對應位置標記為-1
。x
和y
是計算後的相鄰格子座標,確認不超出邊界並且是地雷時,對結果計數加1
。格式化輸出:
TC
大於1
,則打印空行作為測試案例的分隔符。Field #k:
來標示測試案例。TC
增量1
,用於下次測試案例的編號。result
矩陣,輸出每個方格的值。-1
的方格輸出*
,其他方格輸出其數字。