http://poj.org/problem?id=2546

晚上发现鼠标快不行了了!!!鼠标你肿么了,肿么突然就按键不灵了,哭,谁送我一只呀,奖励我舍友一只。哈哈。开玩笑滴~

舍友大怒说“晚上要把英语做完才去睡觉!"

我也大怒说“晚上要把这题A出来才去睡觉!”

然后我做出来了,他还没,哈哈哈哈,哥哥可以洗洗睡啦~

----------------------------------------------准备洗洗睡的分割线----------------------------------------------

大意:

给定两个圆,求他们相交的面积。

纯数学题。。高中的数学题目,以前有做过。。。但我忘光了。哭瞎了。数学渣T T

本来还想用积分的 - -||

圆的位置关系有5种:相离,外切,相交,内切,内含。

相离和外切都为0,

内切和内涵(哈哈)都为小圆。

相交嘛就是两个扇形面积减去一个四边形的面积。

#include<cstdio>
#include<cmath>
const double pi=acos(-1.0);
int main()
{
double x1,y1,r1,x2,y2,r2;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&r1,&x2,&y2,&r2);
double dis=sqrt((y2-y1)*(y2-y1) + (x2-x1)*(x2-x1));
if(dis >= r2+r1)
printf("0.000\n");
else if( dis <= fabs(r2-r1))
printf("%.3lf\n",r2>r1? pi*r1*r1: pi*r2*r2);
else
{
double angle1=acos( (r1*r1 + dis*dis - r2*r2 ) / (2 * r1*dis));
double angle2=acos( (dis*dis + r2*r2 - r1*r1) / ( 2 * r2 * dis ));
double s=r1*dis*sin(angle1);
double s1=angle1*r1*r1;
double s2=angle2*r2*r2;
printf("%.3lf\n",s1+s2-s);
}
return 0;
}

POJ 2546 Circular Area 几何的更多相关文章

  1. POJ 2546 Circular Area(两个圆相交的面积)

    题目链接 题意 : 给你两个圆的半径和圆心,让你求两个圆相交的面积大小. 思路 : 分三种情况讨论 假设半径小的圆为c1,半径大的圆为c2. c1的半径r1,圆心坐标(x1,y1).c2的半径r2,圆 ...

  2. poj 2546(两圆公共面积)

    Circular Area Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5682   Accepted: 2225 Des ...

  3. POJ2546 Circular Area(计算几何)

                                                                                Circular Area            ...

  4. POJ 2546 &amp; ZOJ 1597 Circular Area(求两圆相交的面积 模板)

    题目链接: POJ:http://poj.org/problem? id=2546 ZOJ:problemId=597" target="_blank">http: ...

  5. 【poj2546】 Circular Area

    http://poj.org/problem?id=2546 (题目链接) 题意 求两圆的面积交 Solution 一道水题Wa死我了,肯定是昨晚搞太晚的缘故= =. 两圆的位置关系有5种,而这里要求 ...

  6. poj 1701【数学几何】

    The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  7. poj 3301 Texas Trip(几何+三分)

    Description After a day trip with his friend Dick, Harry noticed a strange pattern of tiny holes in ...

  8. poj 3168 Barn Expansion 几何yy

    题链:http://poj.org/problem? id=3168 Barn Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Su ...

  9. POJ 2546

    #include<iostream> #include<numeric> #include<iomanip> #include<algorithm> # ...

随机推荐

  1. C++ 补课(一)

    1,在C语言中,全局变量必须声明在所有的函数之前,局部变量必须声明在所有可执行语句之前: C++ 允许在代码块的任何位置对局部变量进行声明 2,常量定义方面,C语言 #define 可能因计算的优先级 ...

  2. c#中 xml和json 互相转换

    --xml转json XmlDocument doc = new XmlDocument(); doc.LoadXml(result); string json = Newtonsoft.Json.J ...

  3. python自学群里遇到的小题汇总

    题目一: 请使在3秒内计算出一组的数据,偶数在奇数前(注意不使用for while等循环的方法)格式如下1,2,3,4,5,6,7,8,9,10输出结果是2,1,4,3,6,5,8,7,10,9 解决 ...

  4. 今日题解------uvalive 2689

    今天学到了代码以外的东西,就是你在vj上挂了content ,然后你想更新它,你就要刷新一下,不然你提交的那题可能提交到别的地方. 好了回到重点,本题的题意是: #include<bits/st ...

  5. ZJU 2425 Inversion

    Inversion Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ID:  ...

  6. [Android] 图像各种处理系列文章合集

        这是我近期在做Android随手拍一个项目的各种网上关于图片处理的资料,曾经学过数字图像处理都是用C++写的,以下的资料个人觉得是很优秀的各种集合,还有一方面它是在线笔记,希望对大家有所帮助吧 ...

  7. BASH 文本模版的简单实现 micro_template_compile

    详细代码 ############################### # # Funciton: micro_template_compile # # Parameter: # [1] => ...

  8. nls 字符编码文件对应的国家语言

    原文 http://ftp.twaren.net/cpatch/faq/tech/tech_nlsnt.txt * updated by Kii Ali, 12-11-2001 ftp://ftp.n ...

  9. android图像处理系列之四--给图片添加边框(上)

    图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法. 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下 ...

  10. HDU 2068 RPG的错排(错排公式 + 具体解释)

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...