1151. L05-04输出蛇形矩阵

设行列下标均从 00 开始,nn 阶矩阵可认为是有 nnnn 列的二维数组,设 nn 阶矩阵 AA 的第 ii 行第 jj 列的元素记为 Ai1,j1A_{i-1,j-1}。则 nn 阶蛇形矩阵 AA 定义如下:

  1. 定义所有 (i,j)(i,j) 满足 n+ij=kn+i-j=k 的元素 Ai,jA_{i,j} 在第 kk 条对角线。
  2. 定义在第 k(1k2n1)k(1\le k\le 2n-1) 条对角线的第 ll 个元素是所有在该对角线的元素里行下标 iill 小的元素。
  3. 若第 kk 条对角线上第 ll 个元素的下标是 (i,j)(i,j),则:
    1. k=1k=1Ai,j=1A_{i,j}=1
    2. 否则,若 kk 是偶数:
      1. l=1l=1,则 Ai,jA_{i,j} 的值是第 k1k-1 条对角线上第一个元素的值再加一。
      2. 否则,l>1l > 1,则 Ai,jA_{i,j} 的值是第 kk 条对角线上第 l1l-1 个元素的值再加一。
    3. 否则,kk 是奇数:
      1. ll 是对角线最大序号,则 Ai,jA_{i,j} 的值是第 k1k-1 条对角线上最后一个元素(ll 最大元素)的值再加一。
      2. 否则,则 Ai,jA_{i,j} 的值是第 kk 条对角线上第 l+1l+1 个元素的值再加一。

例如,n=5n=5,有: A=(15762116148532217139423211812102524201911) A=\begin{pmatrix}15&7&6&2&1\\16&14&8&5&3\\22&17&13&9&4\\23&21&18&12&10\\25&24&20&19&11 \end{pmatrix} 给定 nn,输出 nn 阶蛇形矩阵。

输入

一行一个整数 n(1n100)n(1\le n\le 100)

输出

nn 行每行 nn 个整数代表 nn 阶蛇形矩阵,每个元素用空格隔开,每行用换行符隔开。

样例

标准输入 复制文本
5
标准输出 复制文本
15 7 6 2 1
16 14 8 5 3
22 17 13 9 4
23 21 18 12 10
25 24 20 19 11

提示

23/10/31 本题题面与数据经过改善。先前已通过代码不重判,如果想重新验证你的代码在强化后数据是否可通过可重新交题。

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 3880
通过 1529