http://www.bnuoj.com/bnuoj/problem_show.php?pid=4067

美丽的花环

Time Limit: 1000ms
Case Time Limit: 1000ms
Memory Limit: 65536KB
Special Judge

64-bit integer IO format: %lld      Java class name: Main
Submit Status
Font Size: + -

学校的草坪上最近种植了一些漂亮的花卉,所有的花围成了一个环形(内径为r,外径为R,0 <r < R) 。原来这片地上有一个用于喷灌的喷头。这个喷头可以为半径K以内的植物提供水。(如图)

现在,HK请你帮忙计算一下,花构成的环形当中有多大面积的可以由喷头提供灌溉。

Input

输入数据只有两行。 
格式为(中间使用空格隔开)

x1 y1 R r 
x2 y2 K

花环中心在(x1,y1) ,外径为R,内径为r。 
喷头的位置为(x2,y2),覆盖范围为K。 
其中,x1,y1,R,r,x2,y2,K均为实数。

Output

输出题目描述中所求面积(保留2位小数)。

Sample Input

5 5 20 10
2 2 20

Sample Output

773.09

Hint

π的值请取:3.1415926或acos(-1.0) 

 1 /*
 2   两个圆的相交面积
 3 */
 4
 5
 6 #include<iostream>
 7 #include<cstdio>
 8 #include<cstring>
 9 #include<cmath>
10 using namespace std;
11 const double PI=3.141592653;
12 struct point
13 {
14     double x,y;
15     double r;
16 };
17 double dis(point a,point b)
18 {
19     return sqrt( (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y) );
20 }
21 double fun(point a,point b)  //求两圆的相交面积函数。
22 {
23     double d=dis(a,b);
24     if(d>=a.r+b.r) return 0;
25     double r=(a.r>b.r?b.r:a.r);
26     if( d<=fabs(a.r-b.r) ) return PI*r*r;
27     double A1=acos( (a.r*a.r+d*d-b.r*b.r)/2/a.r/d );
28     double A2=acos( (b.r*b.r+d*d-a.r*a.r)/2/b.r/d );
29     double res=A1*a.r*a.r + A2*b.r*b.r;
30     res-=sin(A1)*a.r*d;
31     return res;
32 }
33 int main()
34 {
35     point a,b;
36     double x1,y1,RR,rr;
37     double x2,y2,K;
38     while(scanf("%lf%lf%lf%lf",&x1,&y1,&RR,&rr)>0)
39     {
40         scanf("%lf%lf%lf",&x2,&y2,&K);
41         a.x=x1;a.y=y1;a.r=RR;
42         b.x=x2;b.y=y2;b.r=K;
43         double ans1=fun(a,b);
44
45         a.x=x1;a.y=y1;a.r=rr;
46         b.x=x2;b.y=y2;b.r=K;
47         double ans2=fun(a,b);
48
49         printf("%.2lf\n",ans1-ans2);
50     }
51     return 0;
52 }

转载于:https://www.cnblogs.com/tom987690183/p/3348687.html

bnu 4067 美丽的花环相关推荐

  1. BNUOJ 4067 美丽的花环 (几何题)

    美丽的花环                                  Time Limit: 1000ms           Memory Limit: 65536KB Special Ju ...

  2. 地球上这10个奇幻景观,带你踏入外太空

    全世界只有3.14 % 的人关注了 爆炸吧知识 大蓝洞 大蓝洞是灯塔礁的一部分,位于洪都拉斯伯利兹城陆地大约100公里之遥,是一个较大的完美环状海洋深洞,是当今世界最吸引人的潜水地点之一. 305米的 ...

  3. 计算机教师继续教育心得,教师继续教育培训个人心得体会(精选6篇)

    教师继续教育培训个人心得体会(精选6篇) 在平日里,心中难免会有一些新的想法,写一篇心得体会,记录下来,这样可以帮助我们总结以往思想.工作和学习.那么好的心得体会都具备一些什么特点呢?下面是小编收集整 ...

  4. 上海迪士尼度假区即将开启传统年俗的新春节庆特色活动

    吉祥猪年将至,上海迪士尼度假区已准备就绪,邀游客共享带有迪士尼独特神奇与欢乐的丰富新年习俗,庆贺新春佳节.2019年1月19日至2月19日,贯穿整个农历新年期间,上海迪士尼度假区将沉浸在喜气洋洋的新春 ...

  5. 摄影构图的基本要领!

    摄影构图的基本要领  中国民俗摄影协会教学培训委员会编辑 摄影者确定了要表现的主题后,摆在面前的首先是如何安排和处理摄影画面的构图问题.所谓摄影构图,就是把要表现的客观对象有机地安排在一幅摄影画面中, ...

  6. 只有走过的路 才懂她的内容

    年少初遇常在我心 傻傻的站在十一教门前一排高高的杨树下伫立,独念风凉,叶落肩头,我该用什么去聆听这走过的两个月,明年的枝头,依然会看到今日的灿烂.想想磕磕绊绊的两个月,学习的故事轮番上演,一个比一个精 ...

  7. 大学计算机知识竞赛幽默主持词,幽默主持词

    搞笑幽默的婚礼主持词能调动起现场的气氛,来一场超赞又难忘的婚礼,出国留学网小编整理了"婚礼搞笑幽默主持词"仅供参考,希望能帮助到大家! 篇一:婚礼搞笑幽默主持词 1.开场白 尊敬的 ...

  8. c语言题歌唱比赛要答案的,难忘的唱歌比赛作文.doc

    难忘的唱歌比赛作文 难忘的唱歌比赛 作者/潘之悦 阳光尽情地洒在宽广的操场上,小鸟在路旁的枝头"啾啾",今天我要在舞台上歌唱,歌名叫<桃园小姐妹>.终于,让人期待的兴奋 ...

  9. 2.14调情方案之个性情人节

    他们说:"情人的眼里容不下沙子." 我们说:"情人的眼里只有彼此." 在2.14这样的日子,放下平日的矜持与羞涩,放松自己的心灵与肌体,来吧,和你的情人调调情, ...

最新文章

  1. Android tabLayout+recyclerView实现锚点定位
  2. php语言中 类的关键词是,c语言中的关键字有哪些类型?
  3. selenium自动化-单元测试框架
  4. Java中浮点数的基础知识
  5. Falsy Bouncer(第二种解决方式)
  6. xampp默认mysql数据库root密码的修改
  7. tcp三次握手和在局域网中使用 awl伪装MAC地址进行多线程SYN攻击
  8. Java 泛型 (generics) 的使用
  9. 沉寂了多年金价为何会连续上涨 专家指出真正原因
  10. 微信app支付签名错误
  11. 硬盘安装Win7全攻略(图解)
  12. PPT修改尺寸(修改幻灯片大小)
  13. PyTorch搭建LSTM实现多变量多步长时间序列预测(三):多模型单步预测
  14. ORACLE和MYSQL一些函数和实现效果的对比、替换
  15. C++ 学习(基础语法篇)
  16. 教师空间HTML没有怎么查找,人人通空间为什么看不到老师发的作业?
  17. {嵌入式}之TQ2440(天嵌)小记
  18. Thread yield
  19. 张凌杰 html5,武汉理工大学第四届学位评定委员会第三次会议授予博士、硕士学位名单...
  20. STRM--解决因配置Streams而在alert中出现的 ORA-02068错误

热门文章

  1. 服务器相关命令整理[不断更新ing]
  2. linux 串口编程_ARM-Linux开发与MCU开发有何不同?上篇
  3. 用户分群模型:如何打造精细化运营基石?
  4. 点点客李新 | 移动社交电商行业案例干货分享
  5. 朴素贝叶斯(naive bayes)
  6. 并查集的一般操作 ③
  7. ARM linux内核启动时几个关键地址【转】
  8. 19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16...
  9. 使一个div垂直+水平居中的几种方法
  10. Linux下如何简单删除/data的空目录