AT_abc375_c [ABC375C] Spiral Rotation
题目描述
给定一个 $N$ 行 $N$ 列的网格,这里 $N$ 是偶数。网格中从上往下第 $i$ 行、从左往右第 $j$ 列的格子记作 $(i, j)$。
每个格子要么被涂成黑色,要么被涂成白色,若 $A_{i, j} = \texttt{\#}$,则格子 $(i, j)$ 为黑色;若 $A_{i, j} = \texttt{.}$,则格子 $(i, j)$ 为白色。
请你依次对 $i = 1, 2, \ldots, \frac{N}{2}$ 执行如下操作,并输出所有操作结束后网格中每个格子的颜色。
- 对于所有满足 $i \leq x \leq N + 1 - i$ 且 $i \leq y \leq N + 1 - i$ 的整数 $x, y$,将格子 $(y, N + 1 - x)$ 的颜色替换为格子 $(x, y)$ 的颜色。**所有满足条件的 $x, y$ 的替换操作是同时进行的。**
输入格式
输入以如下格式从标准输入给出。
> $N$
> $A_{1, 1} A_{1, 2} \ldots A_{1, N}$
> $A_{2, 1} A_{2, 2} \ldots A_{2, N}$
> $\vdots$
> $A_{N, 1} A_{N, 2} \ldots A_{N, N}$
输出格式
所有操作结束后,若格子 $(i, j)$ 为黑色,则 $B_{i, j} = \texttt{\#}$,若为白色,则 $B_{i, j} = \texttt{.}$,请按如下格式输出:
> $B_{1, 1} B_{1, 2} \ldots B_{1, N}$
> $B_{2, 1} B_{2, 2} \ldots B_{2, N}$
> $\vdots$
> $B_{N, 1} B_{N, 2} \ldots B_{N, N}$
说明/提示
### 限制条件
- $N$ 是 $2$ 到 $3000$ 之间的偶数。
- $A_{i, j}$ 只可能是 `#` 或 `.`。
### 样例解释 1
经过操作后,网格中每个格子的颜色变化如下:
```
.......#
.......#
.####..#
.####..#
.##....#
.##....#
.#######
.#######
.......# ........ ........ ........ ........
.......# ######.. #######. #######. #######.
.####..# ######.. #....##. #.....#. #.....#.
.####..# ->##..##..-> #....##.-> #.##..#.-> #.###.#.
.##....# ##..##.. #..####. #.##..#. #.#...#.
.##....# ##...... #..####. #.#####. #.#####.
.####### ##...... #....... #....... #.......
.####### ######## ######## ######## ########
```
由 ChatGPT 4.1 翻译