AT_abc375_c [ABC375C] Spiral Rotation
Description
[problemUrl]: https://atcoder.jp/contests/abc375/tasks/abc375_c
$ N $ 行 $ N $ 列のグリッドが与えられます。ここで、$ N $ は偶数です。グリッドの上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,\ j) $ と表記します。
グリッドの各マスは黒か白のいずれかで塗られており、$ A_{i,\ j}\ = $ `#` のときマス $ (i,\ j) $ は黒、$ A_{i,\ j}\ = $ `.` のときマス $ (i,\ j) $ は白で塗られています。
$ i\ =\ 1,\ 2,\ \ldots,\ \frac{N}{2} $ の順に以下の操作を行った後のグリッドの各マスの色を求めてください。
- $ i $ 以上 $ N\ +\ 1\ -\ i $ 以下の整数 $ x,\ y $ について、マス $ (y,\ N\ +\ 1\ -\ x) $ の色をマス $ (x,\ y) $ の色で置き換える。この置き換えは**条件を満たすすべての整数 $ x,\ y $ について同時に行う**。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ 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} $
Output Format
すべての操作を終えた後、マス $ (i,\ j) $ の色が黒であるとき $ B_{i,\ j}\ = $ `#`、マス $ (i,\ j) $ の色が白であるとき $ B_{i,\ j}\ = $ `.` として以下の形式で出力せよ。
> $ 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} $
Explanation/Hint
### 制約
- $ N $ は $ 2 $ 以上 $ 3000 $ 以下の偶数
- $ A_{i,\ j} $ は `#` または `.`
### Sample Explanation 1
操作によってグリッドの各マスの色は以下のように変化します。
```
.......#
.......#
.####..#
.####..#
.##....#
.##....#
.#######
.#######
.......# ........ ........ ........ ........
.......# ######.. #######. #######. #######.
.####..# ######.. #....##. #.....#. #.....#.
.####..# ->##..##..-> #....##.-> #.##..#.-> #.###.#.
.##....# ##..##.. #..####. #.##..#. #.#...#.
.##....# ##...... #..####. #.#####. #.#####.
.####### ##...... #....... #....... #.......
.####### ######## ######## ######## ########```