#P2612. Mine Sweeper
Mine Sweeper
题目描述
扫雷游戏在一个的网格上进行。该网格中隐藏着个地雷,每个地雷位于不同的网格位置。玩家需要反复点击网格位置。如果点击到有地雷的位置,地雷会爆炸,玩家失败。如果点击到没有地雷的位置,将显示一个到之间的数字,表示该位置相邻或对角相邻的网格位置中包含的地雷数量。下方展示了一个部分完成的游戏过程中的操作序列。
其中,,,空白方格代表数字,凸起的方格代表未点击的位置,星号(*)形状的图案代表地雷。最左侧的图像表示部分完成的游戏状态。从第一张图到第二张图,玩家进行了两步操作,每次都选择了安全的网格位置。从第二张图到第三张图,玩家运气不佳;他选择了一个有地雷的位置因而失败。如果玩家持续进行安全操作直到只剩下个未点击的位置(这些位置必然包含所有地雷),则玩家获胜。
你的任务是读取一个部分完成的游戏信息,并打印对应的游戏板。
输入格式
第一行输入包含一个正整数。接下来的行表示地雷的位置分布。每行用个字符表示一行的内容:点号(.)表示无雷位置,星号(*)表示有雷位置。随后的行每行包含个字符:已点击位置用表示,未点击位置用点号(.)表示。样例输入对应上文的中间图像。
输出格式
你的输出应表示完整的游戏板,每个位置都应正确填充。已被点击且不含地雷的位置应显示到之间的数字。如果点击到了地雷,则所有有雷位置都应显示星号(*)。其他位置应显示点号(.)。
输入样例1
8
...**..*
......*.
....*...
........
........
.....*..
...**.*.
.....*..
xxx.....
xxxx....
xxxx....
xxxxx...
xxxxx...
xxxxx...
xxx.....
xxxxx...
输出样例1
001.....
0013....
0001....
00011...
00001...
00123...
001.....
00123...
来源
Waterloo local 1999.10.02