/*hdu6097[二分+解析几何] 2017多校6*/
#include <bits/stdc++.h>
using namespace std;
const double eps=1e-;
struct node{
double x,y;
node(double X=0.0,double Y=0.0):
x(X),y(Y){}
}p,q;
double dist(node a,node b){
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int T;
double A,B,C,a,b,c,h,R;
bool check(){
a=sqrt(b*b+c*c);
A=c*c;
B=-2.0*a*a*h;
C=a*a*h*h-a*a*b*b+b*b*R*R;
double delta=B*B-4.0*A*C;
//cout<<"delta: "<<delta<<endl;
if(delta>=0.0){//判断复根
double yy1=0.5*(-B+sqrt(delta))/A;
double yy2=0.5*(-B-sqrt(delta))/A;
if(R*R-yy1*yy1>=0.0||R*R-yy2*yy2>=0.0)
return true;
else return false;
}
else return false;
}
void solve(){
double t1,t2;
t1=(p.x+q.x)*0.5;
t2=(p.y+q.y)*0.5;
h=dist(node(t1,t2),node());
c=0.5*dist(p,q);
double l=,r=R-h;
for(int i=;i<;i++){
b=(l+r)*0.5;
if(check()){
r=b;
}
else{
l=b;
}
}
b=(l+r)*0.5;
printf("%.8f\n",2.0*sqrt(b*b+c*c));
/*....*/
}
int main(){
//freopen("1002.in","r",stdin);
//freopen("out.out","w",stdout);
scanf("%d",&T);
while(T--){
scanf("%lf",&R);
scanf("%lf%lf",&p.x,&p.y);
scanf("%lf%lf",&q.x,&q.y);
solve();
}
return ;
}

比赛的时候忘记判断复根了!!  QAQ

最新文章

  1. Lesson 8 The best and the worst
  2. (原创)MongoDB之NoSQL简介
  3. Java 基础知识总结 (一、标识符)
  4. TestNG中用Parameters或DataProvider为测试方法传入参数
  5. UISegment属性
  6. android提示框
  7. uva 11417 - GCD
  8. Spring的DI(Ioc) - 注入集合类型
  9. 腾讯QQ表情为什么如此成功呢
  10. bootstrap-datepicker 日期拾取器
  11. 2014.3.12-C语言小测试
  12. hdu4171 Paper Route 树的性质+DFS
  13. C++ 值类型和引用类型传递示例
  14. 【原创】大叔问题定位分享(6)Dubbo monitor服务iowait高,负载高
  15. SpringMVC配置及使用
  16. TCP长连接和短连接的区别【转】
  17. 接口开发-集成数据库操作(mybatis)
  18. JavaScript 里面的整数 位 操作
  19. 很实用且容易忘记的小命令 for Linux(更新中...)
  20. numpy深入理解剖析

热门文章

  1. python爬虫之路——初识爬虫三大库,requests,lxml,beautiful.
  2. 贪心水题。UVA 11636 Hello World,LA 3602 DNA Consensus String,UVA 10970 Big Chocolate,UVA 10340 All in All,UVA 11039 Building Designing
  3. codeforce Gym 100342J Triatrip (bitset)
  4. cocos2dx for lua 摄像机移动
  5. [转载]matlab图像处理为什么要归一化和如何归一化
  6. (70)zabbix telnet监控类型
  7. Thinkphp5的安装
  8. 万门大学Python零基础10天进阶班视频教程
  9. CentOS 系统下Gitlab搭建与基本配置 以及代码备份迁移过程
  10. tempfs详解