#77. 螺旋方阵
螺旋方阵
Problem Description
一个n行n列的螺旋矩阵可由如下方法生成:从矩阵的左上角(第1行第1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1, 2, 3, ... , n,便构成了一个螺旋矩阵。下面是一个n = 4 时的螺旋矩阵。
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
输入一个正整数n,生成一个n*n的数字螺旋方阵。
Input Format
一行一个整数n,1 ≤ n ≤20。
Output Format
共n行,每行n个整数。
5 1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Hint
#include<iostream>
usingnamespacestd;
intmain(){
for(inti =8; i <12;i++){
cout.width(5);
cout << i;
}
}
使用这样的方法可以实现每个数字占5格.