棋盘填数问题
题意
把 1∼N21 \sim N^21∼N2 的数字填入一个 N×NN \times NN×N 的棋盘上,要求任意相邻两个数字奇偶性不同。
棋盘要求
相邻格子奇偶性必须不同。
这就是在棋盘上做黑白相间的涂色(就像国际象棋棋盘)。
国际象棋棋盘示例:

黑格子放奇数,白格子放偶数。
思路分析
这个题本质就是把 棋盘黑白格数 和 奇偶数个数 对应起来:
-
当 NNN 为偶数时:
- 总数 N2N^2N2 是偶数,所以奇数和偶数各一半。
- 棋盘黑格和白格也是各一半。
- 正好对应。
-
当 NNN 为奇数时:
- 总数 N2N^2N2 是奇数,所以奇数比偶数多一个。
- 棋盘黑格比白格多一个。
- 依旧正好对应。
因此不论 NNN 奇偶,分配总能成功。
结论:答案恒为 YES。
参考代码
#include <bits/stdc++.h>
#define int long long
#define rep(i, start, end) for (int i = start; i <= end; i++)
#define Rep(i, start, end) for (int i = start; i >= end; i--)
using namespace std;
signed main() {
int n;
cin >> n;
puts("YES");
return 0;
}

被折叠的 条评论
为什么被折叠?



