Start: Jan, 08, 2019 22:00:00
2018年秋季学期程序设计基础(C语言)期末考试(补题)
End: Jan, 20, 2019 02:00:00
Time elapsed:
Time remaining:

扫雷改编 2558

Time Limit:  1 s      Memory Limit:   256 MB
Submission:4     AC:1     Score:5

Description

这是一个改编版本的扫雷游戏。输入一张地图,“*”表示未探查,“0”表示已探查且没有雷,“L”代表有雷;输出点击一个坐标后地图的状态。

当一个格子被标为已探查后,他上、下、左、右这四个方向中的某个格子均满足以下条件时,那个格子也将标为已探查:这两个格子的周围(最多8个格子)均无雷。

输入时,保证所给的坐标所对应的格子没有雷。

Input

第一行有两个整数n和m,代表地图有n行m列(0<n<100,0<m<100)。

接下来的n行代表当前状态的地图,只标注了*和L。

最后一行将有一个坐标(i,j),表示将要点击的格子坐标(0<=i<n,0<=j<m),注意从0行0列开始。

Output

点击了该座标之后的地图的状态。

Samples

input
3 3 *** *** *L* (0,1)
output
000 *** *L*
input
4 5 ****L L**** ***** L**** (1,2)
output
**0*L L*0** **000 L*000
input
3 3 LLL *** *** (1,1)
output
LLL *0* ***

Hint

注意事项:

1. 读入的时候,注意x和y有没有读对,可能是因为上一行的末尾符号处理出错。

2. 判断能否显示‘0’是八个方向的,但是点击以后向外扩展只有四个方向。

3. 本题可以采用递归的方法,如果能点击,就向四个方向扩展。

4. 如果采用了递归的方法,但是超时了,很有可能是因为有些格子被重复访问了,需要记录这些格子是否被访问过。(如果你没有超时,忽略本条。)
5. 第一个点肯定是被点击,并且为'0'。