A4626 B21 实践-4 蛇形螺旋矩阵

暂无评定 传统题 上传者
时间限制1000ms
内存限制256MiB
通过 / 提交0/0

A4626B21 实践-4 蛇形螺旋矩阵

暂无评定 传统题 上传者
时间限制1000ms
内存限制256MiB
通过 / 提交0/0

题目描述

作为资深打表专家,OI选手都知道过蛇形矩阵,大概也会知道过螺旋矩阵,但不一定见过蛇形螺旋矩阵。 所谓蛇形螺旋矩阵,是非常类似于螺旋矩阵的一种矩阵。 不同之处在于:螺旋矩阵总是按顺时针方向旋转并填入相应数字,而蛇形螺旋矩阵每一圈的旋转方向是不固定的。 如下面是一个 6×66 \times 6 的蛇形螺旋矩阵: 其中最外层是顺时针填数,第二层是逆时针填数,第三层是顺时针填数。 控制一下矩形的填写,参数则为:1,-1,1。 示例中 n=6n=6,三圈方向依次为 1 -1 1。每圈均从该圈左上角 (i,i)(i,i) 开始。顺时针先向右走,逆时针先向下走,沿该圈边界依次填入连续整数。 特别说明:第 ii 圈的旋转是从(i,ii,i)处开始的(如上图例子中带颜色的格子,为该圈的起始位置。 现在给出一个蛇形螺旋矩阵的尺寸规模,同时给出每一圈旋转的方向,请编程制作出这个矩阵。

输入格式

第一行一个正整数 nn,表示蛇形螺旋矩阵的边长。 第二行 (n+1)/2(n+1)/2 个整数,第 ii 个数表示从外向内第 ii 圈的旋转的方向。11 表示顺时针方向,−1-1 表示逆时针方向。

输出格式

输出共 nn 行,每行 nn 个用空格隔开的正整数,第 ii 行第 jj 个整数表示这个矩阵 (i,j)(i,j) 处的应填的整数。

样例输入

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

样例分析

如上所述。

数据范围

对于 50%50 \%的数据,1≤n≤1001 \leq n \leq 100。 对于 100%100 \%的数据,1≤n≤10001 \leq n \leq 1000。

整理说明:原题失效的示意图片已根据原有文字和样例改为文字、公式或表格说明。