#AT1262. B - Grid Compression

B - Grid Compression

B - 格子压缩

得分 : $200$ 分

问题描述

有一个由 $H$ 行 $W$ 列的格子组成的网格。 第 $i$ 行第 $j$ 列的格子用 $(i, j)$ 表示。 每个格子要么是黑色要么是白色。 某个格子的颜色由一个 $H$ 行 $W$ 列的矩阵 $(a_{i, j})$ 表示。 如果 $a_{i, j}$ 是 .,则表示格子 $(i, j)$ 是白色;如果 $a_{i, j}$ 是 #,则表示格子 $(i, j)$ 是黑色。

冰河正在对这个网格进行压缩。 他会通过不断进行以下操作,直到没有一行或者一列只由白色格子组成为止:

  • 操作:选择任意一行或一列,只要这一行或一列只由白色格子组成,在这一行或者一列上去掉所有的格子,并删除行或列之间的间隙。

可以证明,无论选择每次操作时选择什么行或者列,最终网格的状态都是唯一确定的。 请找到网格的最终状态。

约束

  • $1 \leq H, W \leq 100$
  • $a_{i, j}$ 是 . 或者 #
  • 整个网格中至少有一个黑色格子。

输入

输入通过以下方式从标准输入获得:

HH WW

a1,1...a1,Wa_{1, 1}...a_{1, W}

::

aH,1...aH,Wa_{H, 1}...a_{H, W}

输出

按照和输入格式相同的方式输出网格的最终状态(不保留行或列的数量);示例中有更清晰的解释。


4 4
##.#
....
##.#
.#.#
###
###
.##

在原网格中,第二行和第三列将被删除。


3 3
#..
.#.
..#
#..
.#.
..#

由于没有一行或一列只由白色格子组成,因此不进行任何操作。


4 5
.....
.....
..#..
.....
#

7 6
......
....#.
.#....
..#...
..#...
......
.#..#.
..#
#..
.#.
.#.
#.#