首页 > 代码库 > 西南民大oj(两园交求面积)
西南民大oj(两园交求面积)
西南民大oj:http://www.swunacm.com/acmhome/welcome.do?method=index
我的几何不可能那么可爱
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 11 测试通过 : 8
总提交 : 11 测试通过 : 8
描述
小朋友们 你们好~ 你们都知道AT立场吧
AT立场又叫“A T Field”,是“Absolute Terror Field”的缩写。直译作“绝对恐怖领域”,又称绝对领域。视觉化的AT力场呈金色套合多边形状,拥有AT力场的使徒几乎能抵挡所有常规武器的攻击,只有另一个AT力场才可能将其中和(EVA机体即可展开同样的力场)。AT力场的含义被深化为“将自身与自我(ego)
和客观世界分割开的一堵墙”,揭示出了“每个生物都有AT力场”的道理。渚薰称人类的AT 力场为“心之壁”。
现在 真嗣与渚薰同时放出了AT立场。
我们现在要算的就是两个人AT立场在二维坐标平面的相交面积。
为了使题目简单,我们假设 两人处于同一个二维坐标平面,两人所放的at立场呈完美的圆形,给出两人的坐标,与两人AT立场的释放半径,求相交的面积。
输入
多组输入输出
第一行 真嗣所在的坐标x与坐标y以及AT立场释放半径r
第二行 渚薰所在的坐标x与坐标y以及AT立场释放半径r
(|x|,|y|,|r|<=100,且x,y,r全是整数额)
输出
两人AT立场相交的面积 保留3位小数
样例输入
0 0 1
0 1 1
样例输出
1.228
提示
几何什么的真是太简单了!
题意:给定两园坐标与半径求相交面积。
#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <queue>#include <cstdlib>#include <stack>#include <vector>#include <set>#include <map>#define LL long long#define mod 1000000007#define inf 0x3f3f3f3f#define N 1000010using namespace std;#define sqr(x) ((x)*(x))const double eps=1e-9;const double inf=1e10;const double pi=acos(-1.0);const int maxn=22;struct point{ double x, y;};struct circle{ point o; double r;} c[maxn];int n;double dis(point a, point b){ return sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));}int sgn(double x){ if(fabs(x)<eps)return 0; if(x>0)return 1; return -1;}double circle_inter_area(circle c1, circle c2){ double d=dis(c1.o, c2.o); if(c1.r<c2.r)swap(c1, c2); if(sgn(d-c1.r-c2.r)>=0) return 0;//相离或外切 if(sgn(d-(c1.r-c2.r))<=0)return pi*sqr(c2.r);//内含或内切 double ang1, ang2; ang1=acos((sqr(c1.r)+sqr(d)-sqr(c2.r))/(2.0*c1.r*d)); ang2=acos((sqr(c2.r)+sqr(d)-sqr(c1.r))/(2.0*c2.r*d)); double res=ang1*sqr(c1.r)+ang2*sqr(c2.r)-d*c1.r*sin(ang1); return res;}int main(){ while(scanf("%lf%lf%lf%lf%lf%lf",&c[0].o.x, &c[0].o.y, &c[0].r,&c[1].o.x, &c[1].o.y, &c[1].r)>0) printf("%.3lf\n", circle_inter_area(c[0],c[1])); return 0;}
西南民大oj(两园交求面积)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。