LIGHT OJ 1331 - Agent J 【余弦定理+海伦公式】
2016-08-25 20:27
337 查看
1331 - Agent J
PDF (English) | Statistics | Forum |
Time Limit: 1 second(s) | Memory Limit: 32 MB |
are the main headache for Agent J. The scanners are centered in a certain position, and they keep rotating maintaining a certain radius. And they are placed such that their coverage areas touch each other as shown in the picture
below:
Here R1, R2 and R3 are the radii of the coverage areas of the three laser scanners. The diamond is placed in the place blue shaded region as in the picture. Now your task
is to find the area of this region for Agent J, as he needs to know where he should land to steal the diamond.
Input
Input starts with an integer T (≤ 1000), denoting the number of test cases.Each case starts with a line containing three real numbers denoting R1, R2 and R3 (0 < R1, R2, R3 ≤ 100). And no number contains more than two digits after
the decimal point.
Output
For each case, print the case number and the area of the place where the diamond piece is located. Error less than 10-6 will be ignored.Sample Input | Output for Sample Input |
3 1.0 1.0 1.0 2 2 2 3 3 3 | Case 1: 0.16125448 Case 2: 0.645017923 Case 3: 1.4512903270 |
题意:求上图蓝色部分面积;
思路:连接三个圆心,构成三角形,蓝色面积=三角形面积-三个圆弧面积,三角形面积用海伦公式,圆弧面积必须知道圆弧所对的圆心角大小,问题就是知道三角形的三条边求三个角的大小,用余弦定理解决;
失误:刚开始没有想到余弦定理(其实是忘记了),只想到正玄定理,求了好长时间求不出来,浪费时间不少,以后这种判定是数学题的就把他转化成数学题来解,不然数学中的东西不容易想到。
AC代码:
#include<cstdio>
#include<cmath>
#define PI acos(-1.0)
double Get(double a,double b,double c)
{
double t=(a*a+b*b-c*c)/(2*a*b);
return acos(t)/2.0;
}
int main()
{
int T,Kase=0;
double R1,R2,R3,S1,S2,p,a,b,c;
scanf("%d",&T);
while(T--)
{
scanf("%lf %lf %lf",&R1,&R2,&R3);
a=R1+R2; b=R2+R3; c=R3+R1;
p=(a+b+c)/2.0;
S1=sqrt(p*(p-a)*(p-b)*(p-c));
S2=Get(a,b,c)*R2*R2+Get(a,c,b)*R1*R1+Get(b,c,a)*R3*R3;
printf("Case %d: %lf\n",++Kase,S1-S2);
}
return 0;
}
相关文章推荐
- Light oj 1331 - Agent J【计算】
- Light OJ:1331 Agent J(水题+数学)
- LightOJ 1331 - Agent J (计算几何)
- 【light-oj】-1331 - Agent J(几何,水)
- LightOJ 1331-Agent J【计算几何】
- Light OJ 1037 - Agent 47(预处理状态压缩DP)
- 【lightoj1331】Agent J【计算几何】
- light oj 1037 - Agent 47(简单状压)
- lightoj-1331 - Agent J【数学】
- Light OJ 1037 Agent 47 (状压DP)
- Light OJ 1037 Agent 47 (状压DP)
- LightOJ 1331 Agent J - Basic Geometry
- Light oj 1037 - Agent 47(状压dp)
- LightOJ - 1331 Agent J (数学几何)求3圆之间的面积
- 【LightOJ】1331 - Agent J(数论)
- SQL Agent Job 报“Access to the remote server is denied because the current security context is not trusted”
- navigator.userAgent 取值都带有Mozill的原因。看完我笑了
- zabbix客户端 zabbix-agent 2.4版本安装
- 认识User-Agent
- 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6