#868. 外围旋转

外围旋转

题目描述

给定一个 NNNN 列的网格。记从上往下数第 ii 行、从左往右数第 jj 列的格子中写有一个整数 Ai,jA_{i,j}。题目保证 Ai,jA_{i,j}0011

请将写在“最外层格子”上的整数顺时针移动一个格子,并输出操作后的网格。

在这里,最外层格子是指处于第 11 行、第 NN 行、第 11 列、第 NN 列中至少一处的格子。

输入格式

第一行包含一个正整数 NN

接下来 NN 行,每行包含一个长度为 NN 的字符串。其中第 ii 行的第 jj 个字符表示 Ai,jA_{i,j}

输出格式

输出 NN 行,每行包含一个长度为 NN 的字符串,表示顺时针旋转最外层整数后的网格内容。

样例输入 1

4
0101
1101
1111
0000

样例输出 1

1010
1101
0111
0001

样例输入 2

2
11
11

样例输出 2

11
11

样例输入 3

5
01010
01001
10110
00110
01010

样例输出 3

00101
11000
00111
00110
10100

说明

样例解释

在第一个样例中,记 (i,j)(i,j) 为第 ii 行第 jj 列的格子。

(1,1)(1,1) 开始,顺时针方向的最外层格子依次为以下 1212 个: $(1,1), (1,2), (1,3), (1,4), (2,4), (3,4), (4,4), (4,3), (4,2), (4,1), (3,1)$ 和 (2,1)(2,1)

样例输出展示了将这些格子上的整数顺时针移动一格后得到的网格。

数据范围

  • 对于所有测试点,保证 2N1002 \le N \le 100
  • 保证 Ai,jA_{i,j}001 (1i,jN)1\ (1 \le i, j \le N)
  • 保证所有的输入值均为整数。