馮澤來玩掃雷(搜尋)

2022-08-17 10:45:12 字數 908 閱讀 9944

問題描述

在乙個n*m 的棋盤上,有位置上有雷(用「*」 表示),其他位置是空地(用「.」 表示)。

馮澤來想在每個空地上寫下它周圍8 個方向相鄰的格仔中有幾個雷。

請幫助他輸出寫了之後的棋盤

輸入

輸入第一行包含兩個整數n, m 代表棋盤大小

接下來n 行,每行m 個字元,代表棋盤

1≤n,m≤1000

輸出

輸出包含n 行,每行m 個字元,代表馮澤來寫了數字之後的棋盤

輸入樣例1

3 3*.*

...*.*

輸出樣例1

*2*242

*2*此題解析略,直接找。。(也可以定義乙個方向陣列迴圈,只用注意外面套一層防止超界)

#include

#include

using namespace std;

char a[1005][1005];

int n,m;

int main()

if(a[1][1]=='0')

if(a[1][m]=='0')

if(a[n][1]=='0')

if(a[n][m]=='0')

for(int i=2;i<=m-1;i++)

if(a[n][i]=='0')

}for(int i=2;i<=n-1;i++)

if(a[i][m]=='0')

}for(int i=2;i<=n-1;i++)

for(int j=2;j<=m-1;j++)

}for(int i=1;i<=n;i++)

return 0;

}