Polygon for the Angle 1096C(圆心角与圆周角)

Posted lllaih

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Polygon for the Angle 1096C(圆心角与圆周角)相关的知识,希望对你有一定的参考价值。

只要知道圆心角与圆周角的关系即可

圆心角=2×圆周角

因为该题是正n边形,每个点到中心的距离相等,即可把这n个点放在圆周上

确定两个点一条边,还可以与剩下的n-2个点形成角度。

每个角度即是圆心角的1/2.

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <map>
#include <cstring>
using namespace std;
typedef long long ll;
int edge[200];
void init(){
    memset(edge,0,sizeof(edge));
    for(int i=3;i<=360;i++){
        double newang = 180.0/(1.0*i);
        for(int j=1;j <= i-2; j++){
            double k = newang*j*1.0;
            if((int)k != k)
                continue;
            int kk = k;
            if(edge[kk] == 0)
                edge[kk] = i;
        }
    }
}
int main(){
    int t,ang;
    init();
//    for(int i=1;i<=180;i++)
//        printf("%d %d\n",i,edge[i]);
    scanf("%d",&t);
    while(t--){
        scanf("%d",&ang);
        if(edge[ang])
        printf("%d\n",edge[ang]);
        else
        printf("-1\n");
    }
    return 0;
}

 

以上是关于Polygon for the Angle 1096C(圆心角与圆周角)的主要内容,如果未能解决你的问题,请参考以下文章

Polygon for the Angle 1096C(圆心角与圆周角)

#421(div2)B. Mister B and Angle in Polygon

Codeforces Round #421 (Div. 2)B Mister B and Angle in Polygon

Rolling The Polygon (2018-2019 ACM-ICPC, China Multi-Provincial Collegiate Programming Contest)(The

Codeforces gym102222 B.Rolling The Polygon 凸包/余弦定理

python 来自http://jinglezzz.tumblr.com/post/60149245050/calculating-the-angle-between-vectors-in-maya