#10559. 二维码

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

在日常生活中,我们经常会用到二维码。可以发现,无论以怎么的姿势进行扫码,只要二维码在自己设备的扫码区域内(且自身设备联网),均可以识别二维码。

这是因为二维码内有三个定位点(图中三个被框起来的黑点),根据定位点将整个二维码进行旋转,再识别信息。

上述四种情况最后旋转的结果为:

现在我们使用 n×n 的二维字符数组模拟二维码,其中 * 表示二维码中的定位点,保证二维字符数组中只有三个 * 且在矩阵的顶角处。

例如 3×3 的二维码:

*1*
234
*56

请你帮助蒜头君计算出该 “二维码” 最终的旋转结果(即三个 * 分别在左上角、右上角、左下角)。

输入格式

第一行一个正整数 n,表示该二维码的大小。

接下来 n 行,每行有 n 个字符,表示该二维码。第 i 行的第 j 个字符为 str[i][j]。

输出格式

输出共 n 行,每行 n 个字符,表示旋转后的二维码(即三个 * 分别在左上角、右上角、左下角)。

样例

样例输入1

3
*1*
234
*56

样例输出1

*1*
234
*56

样例输入2

5
1234*
56789
12345
67890
*012*

样例输出2

*210*
09876
54321
98765
*4321

数据范围与提示

3≤n≤100,str[i][j]= ′∗′ 或 ′0′ ≤ str[i][j] ≤ ′9′