博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11.01T3 实数二分
阅读量:7049 次
发布时间:2019-06-28

本文共 1378 字,大约阅读时间需要 4 分钟。

3808 -- 【模拟试题】穿越七色虹

Description

  探险队员们跟随两位护法来到了七色虹前。七色虹,就是平面直角坐标系中赤橙黄绿青蓝紫七个半圆,第 i座(1<=i<=7)半圆形彩虹的圆心是(xi,0),半径是ri,半圆上所有点的纵坐标均为非负数。探险队员可以看做一条竖直的、长度等于身高的线段,线段的底端纵坐标为0,最高的一位探险队员的身高为h。
        
  现在探险队员们要从(0,0)穿越七色虹到达(x0,0),穿越七色虹的过程中,探险队员的整个身体必须始终在至少一个半圆形彩虹的内部。由于彩虹的半径 ri 可能太小了,不足以满足这个条件,因此两位护法决定帮助他们把所有彩虹的半径都增大一个非负实数 r。探险队员们想知道,r最小是多少呢?

Input

  第一行两个实数h、x0,表示身高和目的地横坐标。 
  接下来七行每行两个实数xi、ri,表示七座半圆形彩虹的圆心和半径。

Output

  输出最小的r,四舍五入保留 2 位小数。

Sample Input

catclimb.in

4.0 36.0
0.0 4.0
6.0 4.0
12.0 4.0
18.0 4.0
24.0 4.0
30.0 4.0
36.0 4.0

Sample Output

catclimb.out
1.00

Hint

【数据范围】
  对于100%的数据,满足0<=xi,x0<=10000,0<h<100。
 
 
简单的二分
code:
1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 const double eps=1e-6; 8 double l[8],r[8],x[8]; 9 double getdis(double a,double b) {10 return sqrt(a*a-b*b);11 }12 double h,x0;13 struct node{14 double l,r;15 }e[10];16 bool cmp(const node&a,const node&b){17 return a.l
=x0;31 }32 int main() {33 cin>>h>>x0;34 for(int i=1; i<=7; i++) {35 cin>>x[i]>>r[i];36 }37 double l=0,r=9999999.0;38 while(r-l>=eps) {39 double mid=(l+r)/2;40 if(check(mid))r=mid;41 else l=mid;42 }43 cout<
<
<

over

转载于:https://www.cnblogs.com/saionjisekai/p/9896588.html

你可能感兴趣的文章
无服务器计算的黑暗面:程序移植没那么容易
查看>>
Ockam为物联网设备带来区块链无服务器身份识别
查看>>
Agile Consortium的营销交流章
查看>>
Java二十年历程回顾
查看>>
干研发更喜欢无服务器,搞DevOps偏爱容器?
查看>>
《领导力敏捷》作者访谈
查看>>
Vue2.0 学习笔记
查看>>
研究人员发现:基于文本的AI模型容易受到改述攻击
查看>>
物联网技术周报第 103 期: DIY 智能音箱:基于 Raspberry Pi + Snowboy + AVS
查看>>
Creating Great Teams作者问答
查看>>
Azure编配器简化有状态无服务器工作流的创建
查看>>
AWS App Mesh:用于Envoy的服务网格控制平面
查看>>
专访ThoughtWorks王磊:从单块架构到微服务架构
查看>>
JetBrains大力推广Kotlin为哪般?
查看>>
IBM首家发布了公有云中的裸机Kubernetes
查看>>
火掌柜iOS端基于CocoaPods的组件二进制化实践
查看>>
Zabbix Agent端配置文件说明
查看>>
2.10环境变量PATH;2.11cp命令;2.12mv命令;2.13文档查看cat_more...
查看>>
mysql使用索引优化查询效率
查看>>
Salt Syndic配置
查看>>