-->
当前位置:首页 > 题库

编程题:7211 扫雷游戏

Luz4年前 (2022-04-21)题库436
扫雷游戏是在n×n的网格内进行的,其中藏有m颗地雷,这些地雷分布在不同的位置。游戏者不停地点开网格中的位置。如果点开了地雷,则引爆地雷,游戏失败。如果点开了没有地雷的位置,则显示一个0~8之内的整数,表示这个位置的8个相邻位置中藏有地雷的位置的数目。图7.7显示了某次游戏中的几个步骤:

![7211.png](~/0c4dd7e8-f450-4d66-9b09-323a9603ef38.png)

<center>图7.7 扫雷游戏</center>
在图7.7中,n为8,m为10.图中空白的位置代表整数0,凸起的位置表示还没点开,类似于&ldquo;&rdquo;号的符号代表地雷。图(a)表示点开了部分位置。从图(a)到图(b),游戏者已经点开了2个位置,都没有点到地雷;但在图(c)中,游戏者就没有那么幸运了,他点中了藏有地雷的位置(7,5),游戏失败。如果游戏者将所有没有地雷的位置都点开,则游戏成功。
你的任务是读入地雷分布图及游戏者的点击信息,输出对应的游戏地图。*

### 输入格式:

输入文件包含了多个测试数据。每个测试数据的第1行为一个正整数n,n&lt;=10,表示该扫雷游戏的地图是n&times;n大小的。接下来n行描述了地雷的位置。每一行有n个字符,每个字符为&ldquo;.&rdquo;或&ldquo; * &rdquo;,其中&ldquo;.&rdquo;表示没有地雷的位置,&ldquo; * &rdquo;表示有地雷的位置。接下来又是n行,每行n个字符,每个字符为&ldquo;X&rdquo;或者&ldquo;.&rdquo;,其中&ldquo;X&rdquo;表示已经点开的位置,&ldquo;.&rdquo;表示没有点开的位置。例如,对输入样例中的测试数据,2个8&times;8行所描绘的地图分别对应于图7.7中的图(a)和图(b)。
输入数据一直到文件尾。

### 输出格式:

对每个测试数据,输出对应的地图,每个位置都用正确的符号填充:已经点开并且没有地雷的位置用0~8之内的整数表示,注意,如果某个位置藏有地雷且被点开了,则将所有地雷的位置都用&ldquo; * &rdquo;号表示;对没有点开的其他位置都用&ldquo;.&rdquo;表示。
每两个测试数据对应的输出之间有一个空行。

### 输入样例:

in
8
...**..*
......*.
....*...
........
........
.....*..
...**.*.
.....*..
xxx.....
xxxx....
xxxx....
xxxxx...
xxxxx...
xxxxx...
xxx.....
xxxxx...


### 输出样例:

out
001.....
0013....
0001....
00011...
00001...
00123...
001.....
00123...







答案:若无答案欢迎评论