2761 - 魔法方格

题目描述

我们身处一个神奇的魔法世界,这个世界由 N 行水平排列和 M 列垂直排列的方格组成。

用 (i,j) 表示位于从上向下数的第 i 行,从左向右数的第 j 列的方格。

有些方格具有魔法能量,有些方格带有魔法屏障,还有些方格是空方格,用字符 A[i][j] 表示 (i,j) 方格的当前状态。

. 表示一个空方格。

# 表示一个带有魔法屏障的方格。

1, 2, ..., 9 表示一个带有魔法能量为 1, 2, ..., 9 的方格。

我们作为一名拥有消除术的魔法师,任务是利用魔法消除术将这些方格中的魔法能量清除。

在下一个时刻,我们将施展消除术,所有的魔法能量方格将同时消失。当一个魔法能量方格消失时,该位置会成为空方格(.),且与该方格的曼哈顿距离不大于该方格的魔法能量的所有方格,如果其是带有魔法屏障的方格(#),也将会成为空方格(.)。

这里,从 (x_1, y_1) 到 (x_2, y_2) 的曼哈顿距离定义为 |x_1 - x_2| + |y_1 - y_2|。(|x| 表示求变量 x 的绝对值,比如:|2|=2,|-2|=2)

请输出施展消除术后的方格状态。

输入

第一行两个整数,N,M。

接下来读入 N 行,M 列的魔法方格。

输出

施展消除术后的方格状态。

样例

输入

4 4
.1.#
###.
.#2.
#.##

输出

...#
#...
....
#...

输入

2 5
..#.#
###.#

输出

..#.#
###.#

输入

4 6
#.#3#.
###.#.
##.###
#1..#.

输出

......
#.....
#....#
....#.
说明

【样例 1 说明】

如下图所示:(1,2)、(3,3) 是魔法能量方格。

(1,2) 数值是 1,会影响周围曼哈顿距离为 1 的范围,如绿色区域。

(3,3) 数值是 2,会影响周围曼哈顿距离为 2 的范围,如粉色区域。

橙色区域是重叠部分,也会受到影响。

【样例 2 说明】

如下图所示,没有魔法能量方格,所以数值不变。

【数据范围】

30\% 数据: 1 \le N,M \le 5 。

60\% 数据: 1 \le N,M \le 10 。

100\% 数据: 1 \le N,M \le 20 。

测试点编号N,M特殊性质
1 \sim 6N \le 10, M \le 10A
7 \sim 8N \le 10, M \le 10B
9 \sim 20N \le 20, M \le 20无

特殊性质 A:读入的矩阵中,不存在带有魔法能量的方格。样例 2 符合该性质。

特殊性质 B:读入的矩阵中,只有 1 个带有魔法能量的方格。

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 0
通过人数 0
金币数量 0 枚
难度 入门


上一题 下一题