AT_kupc2021_b Painting with Many Orders
题目描述
现在有一个 $N \times N$ 的网格。你的任务是将网格中的每个格子涂成白色或者黑色。
请设计一种涂色方案,要求满足以下条件:
- 所有的白色格子必须要连在一起。(对于任意两个白色格子,你都可以通过连续走过相邻的白色格子到达另一个白色格子。)
- 每个黑色格子至少与一个白色格子边相邻。
- 如果第 $i$ 行的黑色格子数量是 $p_i$,则数列 $P = (p_1, p_2, \ldots, p_N)$ 必须是 $0$ 到 $N-1$ 的所有整数的一种排列。
- 如果第 $j$ 列的黑色格子数量是 $q_j$,那么数列 $Q = (q_1, q_2, \ldots, q_N)$ 也必须是 $0$ 到 $N-1$ 的所有整数的一种排列。
输入格式
输入通过标准输入给出,仅有一行:
> $ N $
输出格式
输出满足题目要求的涂色方案。网格中第 $i$ 行第 $j$ 列格子的颜色用 $c_{i,j}$ 表示:
- 如果格子是白色,使用字符`.` 表示。
- 如果格子是黑色,使用字符`#`表示。
请注意不要包含额外的空格或换行符,否则可能会导致输出错误。
输出格式如下:
> $ c_{1,1} $$ c_{1,2} $$ \ldots $$ c_{1,N} $
> $ c_{2,1} $$ c_{2,2} $$ \ldots $$ c_{2,N} $
> $\vdots$
> $ c_{N,1} $$ c_{N,2} $$ \ldots $$ c_{N,N} $
## 约束条件
- $ 2 \leq N \leq 500 $
### 示例解释
以下是符合题目所有条件的输出示例。而不符合条件的例子包括:
```
. # .
# # .
. . .
```
(白色格子没有连在一起。)
```
# # .
# . .
. . .
```
(有黑色格子未与任何白色格子相邻。)
```
# # .
. . .
. . #
```
(列数列 $ Q = (1, 1, 1) $ ,这并不是 $ 0 $ 到 $ N-1 $ 的一个排列。)
**本翻译由 AI 自动生成**
说明/提示
### 制約
- $ 2\ \leq\ N\ \leq\ 500 $
### Sample Explanation 1
この出力は問題文のすべての条件を満たします。 条件を満たさない出力としては、次のようなものがあります。 ``` .#. ##. ... ``` (白いマスが連結ではない。) ``` ##. #.. ... ``` (白いマスに辺で隣接していない黒いマスがある。) ``` ##. ... ..# ``` ($ Q\ =\ (1,\ 1,\ 1) $ であり、これは $ 0 $ から $ N-1 $ の順列ではない。)