版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Miranda_ymz/article/details/82927605
Convex HDU - 5979 (三角形计算)
题意&思路:给出多边形的点数和边对应的角度。输入是n(点数),d(每个点到圆心的距离)。所以可以直接用余弦定理求解:0.5*a*b*sin(C)。这里注意这里给的是角度要换成弧度:2*pi=360°
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const double pi=3.141592654;
int main()
{
int n;
double d,a;
while(scanf("%d%lf",&n,&d)!=EOF)
{
double ans=0.0;
for(int i=0;i<n;i++)
{
scanf("%lf",&a);
ans+=0.5*d*d*sin(a*pi/180);//pi=180;
}
printf("%.3f\n",ans);
}
return 0;
}