#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格.

Source

GLLXX https://vip.gllxx.com