扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称为地雷格),其他格子不含地雷(称为非地雷格)。玩家翻开一个非地雷格时,该格子中将会出现一个数字,提示周围格子中有多少个是地雷格。玩家的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。请将程序补充完整。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下这8个方向上与之直接相邻的格子。
输入格式:
第1行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。接下来n行,每行 m个字符,描述了雷区中的地雷分布情况。字符*表示相应格子是地雷格,字符?表示相应格子是非地雷格。相邻字符之间无分隔符。
输出格式:
输出文件包含n行,每行m个字符,描述整个雷区。用*表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。
输入样例:
3 3
*??
2
?*?
输出样例:
*10
221
1*1


①处应填()。
g[i][j] !='?'
g[i][j]!='\0'
g[i][j] !='*'
g[i][j] =='*'
②处应填()
cnt++
cnt =0
cnt =0
++cnt = 0
③处应填()。
k<8
k < m
k<n
k <min(m,n)
④处应填()。
g[i + dy[k]][j + dx[k]] == '*'
g[i - dx[k]][j - dy[k]] =='*'
g[i + dx[k]][j + dy[k]] == '*'
g[i - dy[k]][j - dx[k]] =='*'
⑤处应填()
j != m
j != m-1
i != n
i != n-1
发表评论