AT_abc107_b [ABC107B] Grid Compression
题目描述
有一个纵向 $H$ 行、横向 $W$ 列的网格。自上而下的第 $i$ 行、从左到右的第 $j$ 列的格子记作 $(i, j)$。每个格子要么是白色,要么是黑色。网格的颜色分布由 $H$ 行 $W$ 列的矩阵 $(a_{i, j})$ 给出。如果 $a_{i, j}$ 是 `.`,则格子 $(i, j)$ 是白色;如果 $a_{i, j}$ 是 `#`,则格子 $(i, j)$ 是黑色。
すぬけ君想要对这个网格进行压缩。为此,只要存在仅由白色格子组成的行或列,他就会重复进行如下操作:
- 操作:任选一个仅由白色格子组成的行或列,将其删除,并将剩余的格子向上或向左紧缩。
无论每次操作选择哪一行或哪一列,最终得到的网格都是唯一的。请输出最终的网格。
输入格式
输入通过标准输入给出,格式如下:
> $H$ $W$
> $a_{1,1}...a_{1,W}$
> $:$
> $a_{H,1}...a_{H,W}$
输出格式
请输出最终的网格,格式与输入的网格相同,但不需要输出行数和列数。具体格式请参考样例。
说明/提示
## 限制条件
- $1 \leq H, W \leq 100$
- $a_{i, j}$ 只可能是 `.` 或 `#`。
- 整个网格中至少存在一个黑色格子。
## 样例解释 1
原网格中的第 $2$ 行和第 $3$ 列分别被删除。
## 样例解释 2
不存在仅由白色格子组成的行或列,因此不进行任何操作。
由 ChatGPT 4.1 翻译