西南民大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. SQL Server Join方式

    原文:SQL Server Join方式 0.参考文献 Microsoft SQL Server企业级平台管理实践 看懂SqlServer查询计划 1.测试数据准备 参考:Sql Server中的表访 ...

  2. TinkPHP+WAMP

    1.下载wamp 我下载的是php5.5版本:根据你自身的需要嘛 http://www.wampserver.com/ 2.下载thinkphp 我下载的版本是3.2 http://www.think ...

  3. Android 事件处理

    目的:通过全面的分析Android的鼠标和键盘事件.了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件. 主要学习内容: 1. 接收并处理鼠标事件:按下.弹起.移动.双击.长按 ...

  4. LEAVE LIST-PROCESSING和LEAVE TO LIST-PROCESSING事件的作用

    START-OF-SELECTION. MESSAGE '屏幕报错' TYPE 'S' DISPLAY LIKE 'E'. LEAVE LIST-PROCESSING. 这样子的话 报错会返回包选择屏 ...

  5. deflate——过时的网页压缩格式,最好禁用[转]

    在设置GZip时,发现同时有个Deflate压缩设置,一开始并不了解Deflate压缩,于是便在启用GZip的同时,也启用了Deflate压缩.虽然同时设置GZip和Deflate压缩,并不影响网站的 ...

  6. UVA 725 – Division

    Description   Write a program that finds and displays all pairs of 5-digit numbers that between them ...

  7. Appium Server 传递的基本参数

    Appium Server  传递的基本参数 官方列表 Appium server capabilities Capability Description Values automationName ...

  8. 纯win32实现PNG图片透明窗体

    #include <windows.h> #include <gdiplus.h> /*  GDI+ startup token */ ULONG_PTR gdiplusSta ...

  9. innerXml,outerXml,innerText的不同

    原文:innerXml,outerXml,innerText的不同 昨天看到咱们园子里有一个仁兄写的关于xml的有关操作,在读的过程中,由于是初学者有不明白的地方就查资料,发现自己多innerXml, ...

  10. 一个与Log4j相关的死锁(转)

    这个死锁的原因:一个动作需要两个临界对象.静态同步方法,就是一个临界对象.这种场景,静态同步方法每次只能有一个线程持有.如果存在另一个临界对象,静态同步方法中也需要获取这个临界对象.即一个动作需要两个 ...