#A1052. 蛇形填充

蛇形填充

题目描述

把一个n行n列的矩阵每一格都填充一个数字,按照螺旋线从1开始依次填充。参考下图和输出样例。

image

提示:填充的顺序按照深度优先搜索的方式进行:

首先填充第1行第1列的单元格为1;

优先向右,如果向右不能走(超出矩形边界或者已经填充)则尝试向下,向下不能走则尝试向左,向左不能走则尝试向上;直到所有的单元格都被填充。

每次填充的数字比原来大1,依次类推,直到所有单元格都被填充。


输入格式

一个整数n(2<n≤20)。

输出格式

输出n行n列,填充后的矩阵,每行两个数之间有一个空格。


输入/输出样例

4
1 2 3 4
16 15 14 5
11 12 13 6
10 9 8 7

说明/提示

时间1000ms,内存256MiB