HDU 5979 Convex(数学)
2016-11-07 08:57
357 查看
Convex
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 50 Accepted Submission(s): 42
[align=left]Problem Description[/align]
We have a special convex that all points have the same distance to origin point.
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
[align=left]Input[/align]
There are multiple test cases.
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.
[align=left]Output[/align]
For each test case output one float numbers indicating the area of the convex. The printed values should have 3 digits after the decimal point.
[align=left]Sample Input[/align]
4 1
90 90 90 90
6 1
60 60 60 60 60 60
[align=left]Sample Output[/align]
2.000
2.598
[align=left]Source[/align]
2016ACM/ICPC亚洲区大连站-重现赛(感谢大连海事大学)
题意:一个凸多边形每个顶点到其原点的距离相等,且能把该多边形分成几个部分,给定每个部分的角度,求多边形面积。
思路:一开始没读懂题,以为每个角度都相同WA了一次,但是考虑到了三角形要额外处理,因为三角形有可能会有一个角度超过180。还有就是要掌握角度和弧度的转化。
#include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> #include <math.h> using namespace std; #define pi 3.1415926 int ang[4]; int main(){ int n,d; while(~scanf("%d %d",&n,&d)){ double area=0; for(int i=0;i<n;i++){ int angle; scanf("%d",&angle); if(angle<=180) area+=0.5*d*d*sin(angle*1.0*pi/180.0); else{ angle=360-angle; area-=0.5*d*d*sin(angle*1.0*pi/180.0); } } printf("%.3lf\n",area); } return 0; }
相关文章推荐
- hdu 5979 Convex (简单数学&正余弦公式)
- hdu 5979 Convex(水,求面积)
- HDU 5979 && 2016ICPC大连 I: Convex
- HDU 5979 Convex (三角形面积公式)
- hdu-5979-Convex
- HDU 5979 Convex (几何)
- HDU 5979 Convex
- HDU 5979 Convex【计算几何】 (2016ACM/ICPC亚洲区大连站)
- hdu 5979 Convex(正弦定理求三角形面积)
- HDU 5979 Convex【计算几何】 (2016ACM/ICPC亚洲区大连站)
- hdu 5979 Convex
- HDU-5979 Convex(易题)
- hdu 2832(数学题)
- HDU 3880 Lucky Numbers 数学题
- hdu 4969 Just a Joke(数学)
- hdu-5583 Kingdom of Black and White(数学,贪心,暴力)
- hdu 2964 Prime Bases(简单数学题)
- HDU-5881-Tea-找规律+数学推导
- HDU 1099 数学计算
- HDU 1408 盐水的故事 数学水题