Convex
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 170 Accepted Submission(s): 145
As you know we can get N segments after linking the origin point and the points on the convex. We can also get N angles between each pair of the neighbor segments.
Now give you the data about the angle, please calculate the area of the convex
The first line contains two integer N and D indicating the number of the points and their distance to origin. (3 <= N <= 10, 1 <= D <= 10)
The next lines contain N integers indicating the angles. The sum of the N numbers is always 360.
4 1 90 90 90 90 6 1 60 60 60 60 60 60
2.000 2.598
题意:已知一个凸包,每个点距离原点的距离为定值d,然后给你两两边的夹角,求凸包面积。
思路:将凸包拆成n个三角形,然后套公式就得了。下面给代码:
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
#include<cmath>
typedef long long LL;
using namespace std;
#define maxn 1005
#define ll l,mid,now<<1
#define rr mid+1,r,now<<1|1
#define lson l1,mid,l2,r2,now<<1
#define rson mid+1,r1,l2,r2,now<<1|1
#define pi 3.14159
int main(){
int n,d;
while(~scanf("%d%d",&n,&d)){
double sum=0;
while(n--){
int num;
scanf("%d",&num);
sum+=sin(num*pi/180);
}
printf("%.3lf\n",d*d*sum/2);
}
}
9568



被折叠的 条评论
为什么被折叠?



