#abc460d. Repeatedly Repainting

Repeatedly Repainting

题目描述

有一个 HHWW 列的网格图。每个单元格被染成白色或黑色。字符 . 表示白色,字符 # 表示黑色。

网格通过 HH 个长度为 WW 的字符串 S1,S2,,SHS_1, S_2, \ldots, S_H 描述。如果 SiS_i 的第 jj 个字符为 .,则单元格 (i,j)(i, j) 为白色;为 # 则为黑色。

你将执行 1010010^{100} 次操作:

  • 每次操作,对所有单元格 同时 应用以下规则:
    • 在操作前为白色的单元格,当且仅当它周围存在至少一个相邻的黑色单元格时,会变成黑色。这里的"相邻"是指两个单元格 (x,y)(x, y)(x,y)(x', y') 满足 max(xx,yy)=1\max(|x - x'|, |y - y'|) = 1(即 八邻域,包含上下左右及四个对角线方向)。
    • 在操作前为黑色的单元格,会变成白色。

输出所有操作结束后,每个单元格的最终颜色。

输入格式

H W
S_1
S_2
...
S_H

输出格式

输出 HH 行,每行一个长度为 WW 的字符串。若单元格 (i,j)(i, j) 最终为白色输出 .,为黑色输出 #

输入示例 1

3 4
#.#.
.#..
#...

输出示例 1

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

输入示例 2

3 3
###
###
###

输出示例 2

...
...
...

输入示例 3

5 7
.#.....
.......
..#....
.......
....#..

输出示例 3

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

约束条件

  • 1H×W1061 \le H \times W \le 10^6
  • HHWW 为正整数
  • SiS_i 为长度为 WW 的字符串,由 .# 构成