视野覆盖

来源:互联网 发布:project软件项目案例 编辑:程序博客网 时间:2024/04/30 13:19

原题链接(cf):http://codeforces.com/problemset/problem/257/C

AC代码:

#include<stdio.h>#include<stdlib.h>#include<math.h>int cmp(const void *a, const void *b){    return *(double *)a > *(double *)b ? 1 : -1;}main(){    double angles[100020];    int x, y, n, m;    while(scanf("%d", &m) != EOF)    {        for(int i = 0; i < m; i++)        {            scanf("%d %d", &x, &y);            angles[i] = (double) atan2(y, x) * 180 / 3.1415926535897932384;            if(angles[i] < 0)                angles[i] += 360;        }        qsort(angles, m, sizeof(double), cmp);        double result = angles[m - 1] - angles[0];        for(int i = 0; i < m - 1; i++)            if(result > 360 - angles[i + 1] + angles[i])                result = 360 - angles[i + 1] + angles[i];        printf("%.010f\n", result);    }}
0 0
原创粉丝点击