UVa 10566 - Crossed Ladders 【二分】
来源:互联网 发布:歌曲音量增大软件 编辑:程序博客网 时间:2024/05/16 14:21
Crossed LaddersTime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %lluDescriptionA narrow street is lined with tall buildings. An x foot long ladder is rested at the base of the building on the right side of the street and leans on the building on the left side. A y foot long ladder is rested at the base of the building on the left side of the street and leans on the building on the right side. The point where the two ladders cross is exactly c feet from the ground. How wide is the street?
Input
Input starts with an integer T (≤ 10), denoting the number of test cases.
Each test case contains three positive floating point numbers giving the values of x, y, and c.
Output
For each case, output the case number and the width of the street in feet. Errors less than 10-6 will be ignored.
Sample Input
4
30 40 10
12.619429 8.163332 3
10 10 3
10 10 1
Sample Output
Case 1: 26.0328775442
Case 2: 6.99999923
Case 3: 8
Case 4: 9.797958971
A narrow street is lined with tall buildings. An x foot long ladder is rested at the base of the building on the right side of the street and leans on the building on the left side. A y foot long ladder is rested at the base of the building on the left side of the street and leans on the building on the right side. The point where the two ladders cross is exactly c feet from the ground. How wide is the street?
Input
Input starts with an integer T (≤ 10), denoting the number of test cases.
Each test case contains three positive floating point numbers giving the values of x, y, and c.
Output
For each case, output the case number and the width of the street in feet. Errors less than 10-6 will be ignored.
Sample Input
4
30 40 10
12.619429 8.163332 3
10 10 3
10 10 1
Sample Output
Case 1: 26.0328775442
Case 2: 6.99999923
Case 3: 8
Case 4: 9.797958971
列出方程组, 利用二分求解精确值。
#include<cstdio>#include<cmath>#include<algorithm>using namespace std;double x, y, c;double ans(double z) { return 1 - c/sqrt(x*x - z*z) - c/sqrt(y*y - z*z);}int main() { int t; scanf("%d", &t); int cnt = 0; while(t--){ scanf("%lf%lf%lf",&x, &y, &c); double l = 0, mid, r = min(x, y); while(r - l > 1e-8) { mid = (l + r)/2; if(ans(mid) > 0) l = mid; else r = mid; } printf("Case %d: %.8lf\n", ++cnt, mid); } return 0;}
- UVa 10566 - Crossed Ladders 【二分】
- Crossed Ladders - UVa 10566 几何+二分
- Crossed Ladders - UVa 10566 二分几何
- UVA 10566 - Crossed Ladders(二分+计算几何)
- uva 10566 - Crossed Ladders(几何+二分)
- uva 10566 Crossed ladders(二分 + 几何)
- 【UVa】10566 - Crossed Ladders(二分 & 数学)
- UVA 10566 Crossed Ladders (几何+二分)
- Uva - 10566 - Crossed Ladders
- uva 10566 - Crossed Ladders
- UVA 10566 Crossed Ladders
- UVA - 10566 Crossed Ladders
- UVa 10566 - Crossed Ladders
- UVa 10566 Crossed Ladders 平面几何结论,二分答案
- UVA 10566 Crossed Ladders (几何题,二分)
- Crossed Ladders(二分)
- poj2507 Crossed ladders 二分
- UVA 10566 Crossed Ladders (几何题)
- Python不能对字符解码的问题解析
- php设计模式之单例模式
- BFS-Oil Deposits
- ECMAScript总结
- 什么是子接口
- UVa 10566 - Crossed Ladders 【二分】
- 关于win10无法打开.msi文件的解决方法
- activity生命周期
- HDU 1873
- php设计模式之观察者模式
- hdu 3652 B-number 数位dp
- 营销的目的
- 深入理解HTTP Session
- TCP协议的连接机制---三次握手信号的原理