CodeForces 820B Mister B and Angle in Polygon

xiaoxiao2021-02-28  76

题目链接:http://codeforces.com/contest/820/problem/B 题意:有个正凸多边形,现在告诉你一个角度a,让你从多边形里面找一个角,使得尽可能的接近a,输出任意一组顶点编号 解析:如果把多边形外接圆,相当于有n-2个圆周角,固定一条边,移动另一条边,每次增长的度数就是圆周角的大小,维护一下最小值就直接出结果了

#include <bits/stdc++.h> using namespace std; int main(void) { int n,a; scanf("%d %d",&n,&a); if(n==3) puts("2 1 3"); else { double du = 180.0/n; double ans = 0x7fffffff; int i; for(int j=1;j<=n-2;j++) { if(ans>fabs(a-1.0*j*du)) { ans = a-j*du; i = j; } } printf("2 1 %d\n",2+i); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-47902.html

最新回复(0)