西南民大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. EasyUI - Panel 面板控件

    效果: html代码: <div id="p" style="padding: 10px;"> <p>panel content.< ...

  2. 基于visual Studio2013解决面试题之0602全排列

     题目

  3. uva 568(数学)

    题解:从1開始乘到n,由于结果仅仅要最后一位.所以每乘完一次,仅仅要保留后5位(少了值会不准确,刚開始仅仅保留了一位.结果到15就错了,保留多了int会溢出,比方3125就会出错) 和下一个数相乘,接 ...

  4. vs2012 不显示最近项目

    visual studio起始页不显示最近使用项目的解决办法方法一 1.开始 → 运行 → 输入 regedit 回车,打开注册表编辑器. 2.定位到 HKEY_CURRENT_USER/Softwa ...

  5. Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.命令通常从标准输入的地方读取输入,默认是终端.标准输出,默认情况下是终端. 重定向命令列表如下: 命令 说明 comm ...

  6. poj1189 简单dp

    http://poj.org/problem?id=1189 Description 有一个三角形木板,竖直立放.上面钉着n(n+1)/2颗钉子,还有(n+1)个格子(当n=5时如图1).每颗钉子和周 ...

  7. poj1011Sticks

    传说中的poj必做50题之中的一个-- 这是个传说中的搜索, 一開始以为, 仅仅要棒子加起来等于如果的原始长度, 那么这几根选择的棒子就不用管了, 结果卡在第一个例子-- 看了一下,发现, 代码把1, ...

  8. Spring中的FactoryBean

    从SessionFactory说起: 在使用SSH集成开发的时候,我们有时候会在applicationContext.xml中配置Hibernate的信息,以下是配置SessionFactory的一段 ...

  9. Tomcat启动会遇到的问题部分解决方案

    Tomcat的启动不一定会非常的顺利,这可以有多种原因 一.Tomcat是由Java所编写的,因此Tomcat的使用需要JDK的支持,如果没有配置环境变量,Tomcat当然无法启动,最明显的特征就是点 ...

  10. Data Recovery Advisor(数据恢复顾问)

    Data Recovery Advisor 是11g新特性,是Oracle顾问程序架构的一部分,它会在遇到错误时自动收集有关故障信息.如果主动运行Data Recovery Advisor,通常可以在 ...