热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CF600DAreaofTwoCircles'Intersection

题意:分别给出两个圆的圆心坐标和半径((x1,y1),r1和(x2,y2),r2),求两个圆相交部分的面积。两个圆的关系&#

题意:

分别给出两个圆的圆心坐标和半径((x1,y1),r1和(x2,y2),r2),求两个圆相交部分的面积。

两个圆的关系,可分为三种情况,相离,相交,包含

1.相离或边缘重合,输出0即可

2.包含的话输出小圆的面积即可

3.相交的话

如上图,总面积等于SACC1=S扇形DCC1A-SΔDCC1A

所以我们用余弦定理求出∠D即可求出总面积

计算时要用long double

实现如下:

 

#include
#include

#include

#include

#include

#include
<string>
#include

#include

#include

#include

#include

using namespace std;
typedef
long long ll;
typedef
long double ld;
inline
int read()
{register
int p(1),a(0);register char ch&#61;getchar();while((ch<&#39;0&#39;||ch>&#39;9&#39;)&&ch!&#61;&#39;-&#39;) ch&#61;getchar();if(ch&#61;&#61;&#39;-&#39;) p&#61;-1,ch&#61;getchar();while(ch>&#61;&#39;0&#39;&&ch<&#61;&#39;9&#39;) a&#61;a*10&#43;ch-48,ch&#61;getchar();return a*p;
}
const ld pai&#61;atan2(0,-1);
ld suan(ld a,ld c,ld b)
{ld jiao
&#61;acos((a*a&#43;b*b-c*c)/a/b/2)*2;return a*a*(jiao-sin(jiao))/2;
}
int main()
{
// freopen("input","r",stdin);
// freopen("output","w",stdout);
ld x1,y1,x2,y2,r1,r2,dis;x1&#61;read(),y1&#61;read(),r1&#61;read();x2&#61;read(),y2&#61;read(),r2&#61;read();if(r1>r2) swap(x1,x2),swap(y1,y2),swap(r1,r2);dis&#61;sqrt((x1-x2)*(x1-x2)&#43;(y1-y2)*(y1-y2));if(r1&#43;r2<&#61;dis) printf("0.00000000000000000000");else if(r1&#43;dis<&#61;r2) printf("%.20lf",(double)(r1*r1*pai));else printf("%.20lf",(double)(suan(r1,r2,dis)&#43;suan(r2,r1,dis)));return 0;
}

 

转:https://www.cnblogs.com/cold-cold/p/10082426.html



推荐阅读
  • 本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 给出一群女孩的重量和颜值和她们的朋友关系现在有一个舞台ab是朋友bc是朋友ac就是朋友给出最大承重可以邀请这些女孩来玩对于每一个朋友团体全邀请or邀请一个or不邀请问能邀请的女孩的 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 51nod3221祝寿(反向建图优化)
    题目链接感觉忘记了好多东西。求有向图中其余点到一个点的最短距离可以将该图翻转后rundijkstra#include#include ... [详细]
author-avatar
你死了涐陪葬_793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有