P10567 题解

· · 题解

题目

小 A 给了你一个边长为

在填之前,你想知道是否有任何一种解法满足上述条件,如果可以,输出 `Yes`;否则,输出 `No`。 ### 分析 赛时,我先看了看样例,样例有四个数据,$n$ 为偶数时输出的都是 `Yes`,为奇数时输出的都为 `No`,所以这道题的解法会不会和奇偶性相关呢? 先考虑 $n$ 为奇数的情况。 首先,我们要明白一个小学数学常识: - 奇数个奇数相加,和为奇数。 - 奇数个偶数相加,和为偶数。 - 偶数个奇数相加,和为偶数。 - 偶数个偶数相加,和为偶数。 我们假设 $n$ 为奇数时存在一个合法的网格,根据题目,该网格有 $n$ 列,每列和是偶数,所以 $$\sum_{i = 1}^{n^2}i$$ 也应为偶数(该网格包含了 $1 \sim n \times n$ 中的所有数,共 $n$ 列,每列和为偶数)。 但我们知道,该网格有 $n$ 行,每行和为奇数,所以 $$\sum_{i = 1}^{n^2}i$$ 为奇数。 **矛盾。** 故 $n$ 为奇数时无论如何都不存在合法网格。 再考虑 $n$ 为偶数的情况。 $n$ 为偶数时,$n^2$ 也为偶数,即 $1 \sim n \times n$ 中奇数和偶数数量相等,所以可以证明,当 $n$ 为偶数时,一定可以构造出至少一种合法的排列方式。 #### 构造方法 若 ${\frac{n}{2}}$ 不为 $2$ 的倍数,直接将 $1 \sim n ^ 2$ 顺序排列即可;若 ${\frac{n}{2}}$ 为 $2$ 的倍数,需将 $1 \sim n ^ 2$ 顺序排列后将第一行的最后一个数与第二行的第一个数进行交换、第三行的最后一个数与第四行的第一个数进行交换,以此类推。 示例: $n = 2$ 时: $$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ \end{bmatrix} $$ $n = 4$ 时: $$ \begin{bmatrix} 1 & 2 & 3 & 5 \\ 4 & 6 & 7 & 8 \\ 9 & 10 & 11 & 13 \\ 12 & 14 & 15 & 16 \end{bmatrix} $$ ### 结论: $n$ 为奇数时输出 `No`,$n$ 为偶数时输出 `Yes`。