https://codeforces.com/problemset/problem/1515/B
首先我们要知道,给定个面积如何判断是不是正方形的面积。
只要判断是不是平方数即可。
这里的话有两种情况:
- 1.把每两个三角形看成一个基本方块点,然后看是不是平方数即可。
- 2.把每四个三角形看成一个基本方块点,然后看是不是平方数即可。
#include<bits/stdc++.h>
using namespace std;
int lowbit(int x)
{
return x&(-x);
}
int main(void)
{
int t; cin>>t;
while(t--)
{
int n; cin>>n;
bool flag=0;
if(n%2==0)
{
int temp=n/2;
int a=sqrt(temp);
if(a*a==temp) flag=1;
}
if(n%4==0)
{
int temp=n/4;
int a=sqrt(temp);
if(a*a==temp) flag=1;
}
if(flag) puts("YES");
else puts("NO");
}
return 0;
}