西南民大oj:http://www.swunacm.com/acmhome/welcome.do?method=index

我的几何不可能那么可爱

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 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 1000010
using namespace std;
#define sqr(x) ((x)*(x))
const double eps=1e-;
const double inf=1e10;
const double pi=acos(-1.0);
const int maxn=;
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 ;
if(x>)return ;
return -;
} 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)>=) return ;//相离或外切
if(sgn(d-(c1.r-c2.r))<=)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[].o.x, &c[].o.y, &c[].r,&c[].o.x, &c[].o.y, &c[].r)>)
printf("%.3lf\n", circle_inter_area(c[],c[]));
return ;
}

西南民大oj(两园交求面积)的更多相关文章

  1. 西南民大oj 1762 我的式子不可能那么难写 【波兰式】

    描述 啦啦啦.作为一个苦逼的程序猿.?.请看下图... 现在老总想让你帮他儿子写个简单计算器(他儿子小学3年级,嘘!),写不出来就扣奖金..快帮他写吧... 给一个包含+-*/()的正确的表达式.要你 ...

  2. 西南民大oj(递推)

    我的数学不可能那么难推 时间限制(普通/Java) : 3000 MS/ 9000 MS          运行内存限制 : 65536 KByte总提交 : 49            测试通过 : ...

  3. 西南民大oj(矩阵快速幂)

    我的名字不可能那么难记 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 16            测试通过 : ...

  4. 2.编写实现:有一个三角形类Triangle,成员变量有底边x和另一条边y,和两边的夹角a(0<a<180),a为静态成员,成员方法有两个:求面积s(无参数)和修改角度(参数为角度)。 编写实现: 构造函数为 Triangle(int xx,int yy,int aa) 参数分别为x,y,a赋值 在main方法中构造两个对象,求出其面积,然后使用修改角度的方法,修改两边的夹角,再求出面积值。(提示

    求高的方法 h=y*Math.sin(a) 按题目要求,需要我们做的分别是:1.改角度2.显示角度3.求面积并显示 代码用到:1.静态成员变量以修改角度2.数学函数 以下具体代码具体分析 import ...

  5. 民大OJ 1668 追杀系列第二发

    追杀系列第二发 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 57            测试通过 : 16 ...

  6. HDU - 2892:area (圆与多边形交 求面积)

    pro:飞行员去轰炸一个小岛,给出炸弹落地点的位置信息,以及轰炸半径:按顺时针或者逆时针给出小岛的边界点. 求被轰炸的小岛面积. sol:即是求圆和多边形的面积交. (只会套板子的我改头换面,先理解然 ...

  7. 两圆相交求面积 hdu5120

    转载 两圆相交分如下集中情况:相离.相切.相交.包含. 设两圆圆心分别是O1和O2,半径分别是r1和r2,设d为两圆心距离.又因为两圆有大有小,我们设较小的圆是O1. 相离相切的面积为零,代码如下: ...

  8. poj 3525 半平面交求多边形内切圆最大半径【半平面交】+【二分】

    <题目链接> 题目大意:给出一个四面环海的凸多边形岛屿,求出这个岛屿中的点到海的最远距离. 解题分析: 仔细思考就会发现,其实题目其实就是让我们求该凸多边形内内切圆的最大半径是多少.但是, ...

  9. 各大Oj平台介绍 刷题平台

    https://leetcode.com/ http://www.cnblogs.com/lzmfywz/archive/2012/02/07/2342010.html 1.题库与网站资源题库-在线提 ...

随机推荐

  1. linux 压缩和解压文件

    一.压缩:20120715文件下面所有的文件 如下: tar -zcvf 20120715.tar.gz  20120715* 二.解压20120715.tar.gz压缩包 如下: tar -xzvf ...

  2. ASM - 条件判断

    技术交流,DH讲解. 正式之前,我们看看寄存器和CPU的标志位: OD中的截图,下方的CPAZSTDO就是标志位. Delphi的FPU窗口,右边一列就是标志位.为什么要给大家看标志位呢?因为ASM中 ...

  3. [转载]关于网传JDK1.7语法层次支持集合的问题

    以  JDK1.7新特性 为关键词进行百度的话,总能发现这样的描述,说: 从语法层面上支持集合,不再是数组的专利.还有这样的例子: final List<Integer> piDigits ...

  4. WPF的MVVM

    一.关于WPF WPF(Windows  Presentation Foundation) ,从名字来看,Microsoft想把WPF技术作为Windows程序外观(表现层)的基础.我们知道,现在开发 ...

  5. ASP.NET - 使用 Eval() 绑定数据时使用 三元运算符

    ASP.NET邦定数据“<%#Eval("Sex")%>”运用三元运算符: <%#(Eval("Sex", "{0}") ...

  6. DBA日常管理——数据归档(Archiving-Data)

    原文出处:http://www.sqlnotes.cn/post/2013/09/05/DBA-Daily-Jobs-One%E2%80%94%E2%80%94-Archiving-Data 均为本人 ...

  7. 微信JS-SDK说明文档

    http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html http://jsfiddle.net/gabrielerom ...

  8. expect 参数处理之一

    expect 参数处理之一 expect是很强悍的脚本,网上资源虽然很经典,但很少,我把自己的测试脚本贴之,仅作参考 #!/usr/bin/expect -f proc help {} { puts ...

  9. Android开发之下载Tomcat服务器的文件到模拟器的SD卡

    Tomcat服务器可以到Apache的官网去下载http://tomcat.apache.org/,如何配置和使用百度下也有很多介绍,只要把Java的SDK配下java_home环境变量就行了,因为T ...

  10. 应用程序初始化正常(0xc015002)失败解决方法

    VS2005 sidebyside manifest error Microsoft.VC80.MFC Microsoft.VC80.CRT Microsoft.VC80.MFCLOC msvcr80 ...