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