#NC2510I. 矩阵
矩阵
题目描述
Piggy 有一个 的 循环 矩阵。这意味着第 行与第 行是相邻的,且第 列与第 列是相邻的。你需要用 至 的整数填充这个矩阵使得它满足以下条件:
- 每个 至 (闭区间)的整数都在矩阵中出现了恰好一次。也就是说,恰好一个矩阵中的格子包含了每个整数。
- 对于每个 ,包含 的格子与包含 的格子要么在同一行,要么在同一列。
- 对于每个 ,如果 Piggy 初始在包含 的格子处,那么存在左、右、上和下中的一个方向,使得若 Piggy 朝着那个方向移动恰好 格,他可以到达包含 的格子处。注意矩阵是循环的,这意味着如果他在第 行向下移动一格,会移动到第 行,如果在第 列向右移动一格,会移动到第 列,反之亦然。
构造一个合法的矩阵,或者报告不存在合法的矩阵。
输入格式
一行包含两个正整数 ()。
输出格式
第一行输出 YES 或 NO,表示你是否找到了一个合法的矩阵。如果答案是 YES,接下来输出 行,每行包含 个整数,描述你构造的合法矩阵。若有多个合法矩阵,输出任意一个都算作正确。
4 5
YES
1 9 14 15 8
2 10 3 16 17
20 19 4 5 18
12 11 13 6 7
4 6
NO