【LightOJ 1331 】
发布日期:2021-11-04 12:59:23
浏览次数:15
分类:技术文章
本文共 1891 字,大约阅读时间需要 6 分钟。
LightOJ 1331
Description
Agent J is preparing to steal an antique diamond piece from a museum. As it is fully guarded and they are guarding it using high technologies, it’s not easy to steal the piece. There are three circular laser scanners in the museum which 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
3 1.0 1.0 1.0 2 2 2 3 3 3 Sample Output Case 1: 0.16125448 Case 2: 0.645017923 Case 3: 1.4512903270数学几何题~~
#include#include using namespace std;int main(){ int T,nl=1; double a,b,c,r1,r2,r3,sum,ans,q1,q2,q3; scanf("%d",&T); while(T--) { scanf("%lf%lf%lf",&r1,&r2,&r3); a=r1+r2; b=r1+r3; c=r2+r3; q1=(a*a+b*b-c*c)/(2*a*b); q2=(a*a+c*c-b*b)/(2*a*c); q3=(c*c+b*b-a*a)/(2*b*c); sum=sqrt(1-q1*q1);//求出 sin 值 ans=a*b/2*sum; ans-=r1*r1*acos(q1)/2;//该角度是弧度制的 即之前已除过 PI ,所以只用再除以 2 ans-=r2*r2*acos(q2)/2; ans-=r3*r3*acos(q3)/2; printf("Case %d: %.7lf\n",nl++,ans); } return 0;}
转载地址:https://blog.csdn.net/WYK1823376647/article/details/52324982 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月02日 12时13分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
领扣LintCode算法问题答案-1256. 第n个数位
2019-04-27
领扣LintCode算法问题答案-1266. 找不同
2019-04-27
领扣LintCode算法问题答案-1270. 勒索信
2019-04-27
领扣LintCode算法问题答案-1282. 翻转字符串中的元音字母
2019-04-27
领扣LintCode算法问题答案-1283. 翻转字符串
2019-04-27
领扣LintCode算法问题答案-1285. 四的乘方
2019-04-27
领扣LintCode算法问题答案-1294. 3的幂
2019-04-27
领扣LintCode算法问题答案-1295. 质因数统计
2019-04-27
【精】LintCode领扣算法问题答案:1300. 巴什博弈
2019-04-27
领扣LintCode算法问题答案-1302. 人数统计
2019-04-27
领扣LintCode算法问题答案-1311. 二叉搜索树的最近公共祖先
2019-04-27
【精】LintCode领扣算法问题答案:1314. 2的幂
2019-04-27
领扣LintCode算法问题答案-1354. 杨辉三角形II
2019-04-27
领扣LintCode算法问题答案-1355. 杨辉三角
2019-04-27
领扣LintCode算法问题答案-1358. 路径和
2019-04-27
领扣LintCode算法问题答案-1359. 有序数组转换为二叉搜索树
2019-04-27
领扣LintCode算法问题答案-1360. 对称树
2019-04-27
领扣LintCode算法问题答案-1369. 最频繁单词
2019-04-27
【精】LintCode领扣算法问题答案:1385. 幸运数字8
2019-04-27
【精】LintCode领扣算法问题答案:1451. 到最近的人的最大距离
2019-04-27