【CodeForces - 270A】Fancy Fence (幾何,思維,水題)
題幹:
Emuskald needs a fence around his farm, but he is too lazy to build it himself. So he purchased a fence-building robot.
He wants the fence to be a regular polygon. The robot builds the fence along a single path, but it can only make fence corners at a single angle a.
Will the robot be able to build the fence Emuskald wants? In other words, is there a regular polygon which angles are equal to a
Input
The first line of input contains an integer t (0 < t < 180) — the number of tests. Each of the following t lines contains a single integer a (0 < a < 180) — the angle the robot can make corners at measured in degrees.
Output
For each test, output on a single line "YES" (without quotes), if the robot can build a fence Emuskald wants, and "NO" (without quotes), if it is impossible.
Examples
Input
3
30
60
90
Output
NO
YES
YES
Note
In the first test case, it is impossible to build the fence, since there is no regular polygon with angle .
In the second test case, the fence is a regular triangle, and in the last test case — a square.
題目大意:
一條線,每次只能逆時針轉a度,問你是否可以恰好轉回來構成一個多邊形。(可以用來訓練一下讀題?)
解題報告:
用180-a度,轉化成內角的度數,判斷360可否正好整除這個度數就可以了。
AC程式碼:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
int main()
{
int t,x;
cin>>t;
while(t--) {
scanf("%d",&x);
x=180-x;
if(360%x == 0) puts("YES");
else puts("NO");
}
return 0 ;
}