【Uva10566】Crossed Ladders
来源:互联网 发布:江苏计算机二级vb真题 编辑:程序博客网 时间:2024/05/18 01:20
列出一个包含x,y,c的关系式,设宽为w,底边垂线左边为a,根据相似三角形关系:
1.a/w=c/sqrt(y*y-w*w);
2.(w-a)/w=c/sqrt(y*y-w*w);
两式合并消去a得:
c/sqrt(x*x-w*w)+c/sqrt(y*y-w*w)=1;
能推出c与w有同增同减关系,所以当带入mid小于1时,实际w大于mid;反之小于mid,以此二分,再注意精度即可(误差小于1e-6)。
#include<stdio.h>#include<math.h>double x,y,c;bool judge(double mid) { return c/sqrt(x*x-mid*mid)+c/sqrt(y*y-mid*mid)<1;}int main() { int T,id=0; scanf("%d",&T); while(T--) { scanf("%lf%lf%lf",&x,&y,&c); double t; t=x<y?x:y; double l=0,r=t; double mid; while(fabs(r-l)>5*1e-7) { mid=(l+r)/2; if(judge(mid)) l=mid; else r=mid; } printf("Case %d: %.7lf\n",++id,mid); } return 0;}
http://acm.hust.edu.cn/vjudge/contest/123973#problem/E
0 0
- 【Uva10566】Crossed Ladders
- Crossed ladders
- Crossed Ladders
- Crossed Ladders
- Crossed Ladders
- FZU 1148 Crossed ladders
- HOJ2015//Crossed ladders
- Hoj 2105 Crossed ladders
- Uva - 10566 - Crossed Ladders
- uva 10566 - Crossed Ladders
- UVA 10566 Crossed Ladders
- UVA - 10566 Crossed Ladders
- lightoj 1062 Crossed Ladders
- B. Crossed ladders
- BNUOJ-24431-Crossed ladders
- UVa 10566 - Crossed Ladders
- E - Crossed Ladders
- 【Light】[1062]Crossed Ladders
- 【摘抄整理】算法竞赛入门经典(第2版)——语言篇(1-2章)
- 关于Android下各个布局方式里面LayoutParams的用法
- JAVA之字节缓冲流
- Hadoop权威指南读书笔记(2) — Yarn简介及Capacity & Fair Scheduler
- PAT(A) - 1006. Sign In and Sign Out (25)
- 【Uva10566】Crossed Ladders
- spring mvc 在web请求中定义编码(org.springframework.web.filter.CharacterEncodingFilter
- WPF平台Grid控件性能比较
- Hibernate中Criteria的完整用法
- JAVA单例模式
- NUBT 1651 Red packet(红包问题,二分,宁波工程学院在线评测)
- MongoDB数据类型
- 数据结构上机测试1:顺序表的应用
- notepad++ 设置