HDU - 5979 Convex —— 几何计算

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lngxling/article/details/82905225

题意:

多边形每个顶点到原点的距离都是d,已知两两相邻线段的夹角,问多边形的面积

思路:

两两相邻线段可以形成一个等腰三角形,知道顶角的度数,可以求面积

多边形的面积就是每个小等腰三角形的面积之和

#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <map>
#include <stack>
#include <set>
#include <cstring>
#include <algorithm>
using namespace std;
#define ll long long
#define max_ 1000
#define mod 1000000007
int n;
double d;
int main(int argc, char const *argv[]) {
    while(scanf("%d%lf",&n,&d)!=EOF)
    {
        double ans=0;
        for(int i=1;i<=n;i++)
        {
            double ang;
            scanf("%lf",&ang);
            ans+=d*(d*sin(ang/180*acos(-1)));
        }
        printf("%.3f\n",ans*0.5);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Lngxling/article/details/82905225