#P14247. [CCPC 2024 Shandong I] 矩阵

[CCPC 2024 Shandong I] 矩阵

题目描述

构造一个 nnnn 列的矩阵,满足以下所有条件:

  • 矩阵的元素是从 112n2n 的整数(含两端)。
  • 每个从 112n2n 的整数(含两端)在矩阵里至少出现一次。
  • ai,ja_{i, j} 表示第 ii 行第 jj 列的元素,恰有一个整数四元组 (x,y,z,w)(x, y, z, w) 满足:
    • 1x<zn1 \le x < z \le n
    • 1y<wn1 \le y < w \le n
    • ax,ya_{x, y}ax,wa_{x, w}az,ya_{z, y}az,wa_{z, w} 互不相同。

输入格式

每个测试文件仅有一组测试数据。

第一行输入一个整数 nn2n502\leq n\leq 50)表示矩阵的大小。

输出格式

如果可以构造出这样的矩阵,首先输出一行 Yes\texttt{Yes}。接下来输出 nn 行,其中第 ii 行输出 nn 个由单个空格分隔的整数 ai,1,ai,2,,ai,na_{i, 1}, a_{i, 2}, \cdots, a_{i, n}1ai,j2n1 \le a_{i, j} \le 2n),其中 ai,ja_{i, j} 表示矩阵第 ii 行第 jj 列的元素。如果有多种合法答案,您可以输出任意一种。

如果无法构造出这样的矩阵,只需要输出一行 No\texttt{No}

2
Yes
1 2
3 4
3
Yes
3 2 6
4 3 3
3 1 5