题目描述
作为资深打表专家,OI选手都知道过蛇形矩阵,大概也会知道过螺旋矩阵,但不一定见过蛇形螺旋矩阵。
所谓蛇形螺旋矩阵,是非常类似于螺旋矩阵的一种矩阵。
不同之处在于:螺旋矩阵总是按顺时针方向旋转并填入相应数字,而蛇形螺旋矩阵每一圈的旋转方向是不固定的。
如下面是一个 的蛇形螺旋矩阵:
其中最外层是顺时针填数,第二层是逆时针填数,第三层是顺时针填数。
控制一下矩形的填写,参数则为:1,-1,1。
示例中 ,三圈方向依次为 1 -1 1。每圈均从该圈左上角 开始。顺时针先向右走,逆时针先向下走,沿该圈边界依次填入连续整数。
特别说明:第 圈的旋转是从()处开始的(如上图例子中带颜色的格子,为该圈的起始位置。
现在给出一个蛇形螺旋矩阵的尺寸规模,同时给出每一圈旋转的方向,请编程制作出这个矩阵。
输入格式
第一行一个正整数 ,表示蛇形螺旋矩阵的边长。 第二行 个整数,第 个数表示从外向内第 圈的旋转的方向。 表示顺时针方向, 表示逆时针方向。
输出格式
输出共 行,每行 个用空格隔开的正整数,第 行第 个整数表示这个矩阵 处的应填的整数。
样例输入
7
1 -1 -1 1
样例输出
1 2 3 4 5 6 7
24 25 40 39 38 37 8
23 26 41 48 47 36 9
22 27 42 49 46 35 10
21 28 43 44 45 34 11
20 29 30 31 32 33 12
19 18 17 16 15 14 13
样例分析
如上所述。
数据范围
对于 的数据,。 对于 的数据,。
整理说明:原题失效的示意图片已根据原有文字和样例改为文字、公式或表格说明。