1. 程式人生 > >HDU - 5979 Convex —— 幾何計算

HDU - 5979 Convex —— 幾何計算

題意:

多邊形每個頂點到原點的距離都是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;
}