CodeForces - 1515B Phoenix and Puzzle
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 1515B Phoenix and Puzzle相关的知识,希望对你有一定的参考价值。
B. Phoenix and Puzzle
time limit per test: 2 seconds
memory limit per test: 256 megabytes
Phoenix is playing with a new puzzle, which consists of n identical puzzle pieces. Each puzzle piece is a right isosceles triangle as shown below.
A puzzle piece
The goal of the puzzle is to create a square using the n pieces. He is allowed to rotate and move the pieces around, but none of them can overlap and all n pieces must be used (of course, the square shouldn’t contain any holes as well). Can he do it?
Input
The input consists of multiple test cases. The first line contains an integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains an integer n (1≤n≤109) — the number of puzzle pieces.
Output
For each test case, if Phoenix can create a square with the n puzzle pieces, print YES. Otherwise, print NO.
Example
input
3
2
4
6
output
YES
YES
NO
Note
For n=2, Phoenix can create a square like this:
For n=4, Phoenix can create a square like this:
For n=6, it is impossible for Phoenix to create a square.
问题链接:CodeForces - 1515B Phoenix and Puzzle
问题简述:(略)
问题分析:(略)
AC的C++语言程序如下:
/* CodeForces - 1515B Phoenix and Puzzle */
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t, n;
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
int flag = 0;
for (int i = 1, t; (t = i * i * 2) <= n; i++)
if (t == n || t * 2== n) {
flag = 1;
break;
}
puts(flag ? "YES" : "NO");
}
return 0;
}
以上是关于CodeForces - 1515B Phoenix and Puzzle的主要内容,如果未能解决你的问题,请参考以下文章