编程题:h0038. 扫雷游戏
扫雷游戏是在n * n的网格上进行的。在这个网格中隐藏着m个地雷,每个地雷都位于不同的网格位置。玩家反复触碰网格位置。如果触碰到一个有地雷的位置,地雷就会爆炸,玩家就输了。如果触及不包含地雷的位置,则会出现0到8之间的整数,表示包含地雷的相邻或对角线相邻网格位置的数量。部分博弈中的一系列走法如下图所示。

这里,n是8,m是10,空白方块代表整数0,凸起的方块代表未发挥的位置,类似星号的数字代表地雷。最左边的图像代表部分游戏。从第一张图像到第二张图像,玩家已经走了两步,每次都选择了一个安全的网格位置。从第二个图像到第三个图像,玩家就没那么幸运了;他选了一个有地雷的位置,因此输了。如果玩家继续采取安全的行动,直到剩下的位置都没有了,他就赢了;这些必须遏制地雷。
你的工作是阅读部分游戏的信息,并打印相应的网格。
### 输入格式:
输入的第一行包含一个正整数n(n<=10)。接下来的n行表示地雷的位置。每一行用n个字符表示一行的内容: 句号表示未挖掘的位置,星号表示已挖掘的位置。接下来的n行每n个字符长: 触及的位置用x表示,未触及的位置用句点表示。示例输入对应于上面的中间图。
### 输出格式:
输出网格,并适当地填写每个位置。被触碰过且不包含地雷的位置应该包含0到8之间的整数。如果地雷被触碰,所有有地雷的位置都应加星号。所有其他位置都应该包含一个句号。
### 输入样例:
in
8
...**..*
......*.
....*...
........
........
.....*..
...**.*.
.....*..
xxx.....
xxxx....
xxxx....
xxxxx...
xxxxx...
xxxxx...
xxx.....
xxxxx...
### 输出样例:
out
001.....
0013....
0001....
00011...
00001...
00123...
001.....
00123...
答案:若无答案欢迎评论

这里,n是8,m是10,空白方块代表整数0,凸起的方块代表未发挥的位置,类似星号的数字代表地雷。最左边的图像代表部分游戏。从第一张图像到第二张图像,玩家已经走了两步,每次都选择了一个安全的网格位置。从第二个图像到第三个图像,玩家就没那么幸运了;他选了一个有地雷的位置,因此输了。如果玩家继续采取安全的行动,直到剩下的位置都没有了,他就赢了;这些必须遏制地雷。
你的工作是阅读部分游戏的信息,并打印相应的网格。
### 输入格式:
输入的第一行包含一个正整数n(n<=10)。接下来的n行表示地雷的位置。每一行用n个字符表示一行的内容: 句号表示未挖掘的位置,星号表示已挖掘的位置。接下来的n行每n个字符长: 触及的位置用x表示,未触及的位置用句点表示。示例输入对应于上面的中间图。
### 输出格式:
输出网格,并适当地填写每个位置。被触碰过且不包含地雷的位置应该包含0到8之间的整数。如果地雷被触碰,所有有地雷的位置都应加星号。所有其他位置都应该包含一个句号。
### 输入样例:
in
8
...**..*
......*.
....*...
........
........
.....*..
...**.*.
.....*..
xxx.....
xxxx....
xxxx....
xxxxx...
xxxxx...
xxxxx...
xxx.....
xxxxx...
### 输出样例:
out
001.....
0013....
0001....
00011...
00001...
00123...
001.....
00123...
答案:若无答案欢迎评论