P9913题解
蒟蒻又来发水题解啦。
不多说废话,直接开始。
分析
当 \(N = 2, 3 ,5\) 时,无法分解成小正方形,以下是当 \(N=1,4,6,7,8\) 时的情况。
每次用横竖两条线把一个小正方形分成 \(4\) 个更小的小正方形后,我们都会让这个图形里的正方形数目增加 \(3\) 个。只需要在 \(N=8\) 的方案上增加两笔,就能得到一个 \(N=11\) 的方案:

同理,每次在小正方形里加横竖两笔就能使正方形总数 \(+3\) ,要使 \(N=12, 15\) ,只需要在 \(N=6\) 上分别进行 \(2\) 次和 \(3\) 次操作即可:

经分析得出,当 \(N=6+3k,7/3k,8+3k\) 时(\(k\) 为正整数),都可以分解,因此,若一个正方形能分解成N个小正方形,只要 \(N\) 不为 \(2\)、\(3\)、\(5\) 即可。

AC CODE
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
int a;
cin>>a;
if(a!=2&&a!=3&&a!=5){
cout<<"Yes\n";
}else{
cout<<"No\n";
}
}
return 0;
}

浙公网安备 33010602011771号