#923. 炸弹
炸弹
题目描述
我们有一个 行 列的网格。记从上往下数第 行、从左往右数第 列的格子为 。
网格中格子的状态由字符 表示:. 表示空地;# 表示有墙;1 到 9 表示放置了对应威力值( 到 )的炸弹。
下一时刻,所有炸弹将同时爆炸。当炸弹在格子 爆炸时,所有满足与该格子的曼哈顿距离不超过炸弹威力值的格子 都将变成空地。两点之间的曼哈顿距离定义为 。请输出爆炸后的网格状态。
输入格式
第一行包含两个正整数 和 —— 分别表示网格的行数和列数。
接下来 行,每行包含一个长度为 的字符串,表示网格的状态。
输出格式
输出 行,每行包含一个长度为 的字符串,表示爆炸后的网格状态。
样例输入 1
4 4
.1.#
###.
.#2.
#.##
样例输出 1
...#
#...
....
#...
样例输入 2
2 5
..#.#
###.#
样例输出 2
..#.#
###.#
样例输入 3
2 3
11#
###
样例输出 3
...
..#
样例输入 4
4 6
#.#3#.
###.#.
##.###
#1..#.
样例输出 4
......
#.....
#....#
....#.
说明
样例解释
-
在第一个样例中:
- 位于 的炸弹爆炸,将其曼哈顿距离范围内的格子清空。
- 位于 的炸弹爆炸,将其曼哈顿距离范围内的格子清空。
- 炸弹的爆炸范围可能会重叠。

-
在第二个样例中,由于没有任何炸弹,网格状态不发生改变。
数据范围
- 对于所有测试点,保证 。
- 保证 为
.,#或数字1到9。 - 保证所有的输入值均为整数。