P9913 题解
我们可以从 \(n=1\) 开始枚举,找规律。
| \(n=\) | 分割情况 |
|---|---|
| \(1\) | 不用分割。 |
| \(2\) | 很明显,没法分割。 |
| \(3\) | 同 \(n=2\)。 |
| \(4\) | 可以四等分。 |
| \(5\) | 无法分割。 |
| \(6\) | ![]() |
| \(7\) | 四等分 \(n=4\) 的任意一个小正方形。 |
| \(8\) | 类似于 \(n=6\),不算右下角的小正方形,底部和侧面分别各有三个小正方形。 |
| \(9\) | 四等分 \(n=6\) 的任意一个小正方形。 |
| \(10\) | 四等分 \(n=7\) 的任意一个小正方形。 |
| \(11\) | 四等分 \(n=8\) 的任意一个小正方形。 |
| \(12\) | 四等分 \(n=9\) 的任意一个小正方形。 |
| \(13\) | 四等分 \(n=10\) 的任意一个小正方形。 |
| \(14\) | 四等分 \(n=11\) 的任意一个小正方形。 |
由表可以推测,只要 \(n \notin \{2,3,5\}\),那么就可以分割。
#include<bits/stdc++.h>
using namespace std;
int n, a;
int main() {
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> a;
if (a != 2 && a != 3 && a != 5) cout << "Yes" << '\n';
else cout << "No" << '\n';
}
return 0;
}


浙公网安备 33010602011771号