UVA 10566 && POJ 2507 Crossed Ladders (几何)
来源:互联网 发布:图片拼凑软件 编辑:程序博客网 时间:2024/06/05 06:51
题意:两栋楼之间有两个梯子,如图中的虚线所示,一个梯子的长度为x,另一个梯子的长度为y,两个梯子的交点离地面的高度为c,问两栋楼之间的距离。
看到这类的几何题,配有几张情景图,总是有一种莫名的亲切感,有一种想秒A的冲动>=<
解题思路:
在纸上画出图,设宽度为w,交点距左楼距离为a,则根据三角形相似可以推出:
将第二个方程带入到第一个,化简得到: 1=c/sqrt(x*x-w*w)+c/sqrt(y*y-w*w);将得到方程二分求解,即可得到题目所求
代码:
#include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <algorithm>using namespace std;const double eps=1e-6;//注意eps定义成double 型,否则会超时double x,y,c;double fun(double w){ return 1-c/sqrt(x*x-w*w)-c/sqrt(y*y-w*w);}int main(){ while(~scanf("%lf%lf%lf",&x,&y,&c)) { double left=0,mid,right=x; while(right-left>eps) { mid=(left+right)/2; if(fun(mid)>0) left=mid; else right=mid; } printf("%.3lf\n",mid); } return 0;}
0 0
- UVA 10566 && POJ 2507 Crossed Ladders (几何)
- UVA 10566 Crossed Ladders (几何题)
- uva 10566 - Crossed Ladders(几何+二分)
- uva 10566 Crossed ladders(二分 + 几何)
- UVA 10566 Crossed Ladders (几何+二分)
- UVA 10566 Crossed Ladders (几何题,二分)
- Crossed Ladders - UVa 10566 几何+二分
- Crossed Ladders - UVa 10566 二分几何
- UVA 10566 - Crossed Ladders(二分+计算几何)
- POJ:2507 Crossed ladders(二分+几何数学)
- poj 2507 crossed ladders(计算几何,二分)
- poj 2507Crossed ladders 计算几何,二分
- poj-2507-Crossed ladders【二分】【计算几何】
- Uva - 10566 - Crossed Ladders
- uva 10566 - Crossed Ladders
- UVA 10566 Crossed Ladders
- UVA - 10566 Crossed Ladders
- UVa 10566 - Crossed Ladders
- leetcode 矩阵旋转
- 2015-1-24
- Android 软键盘弹起隐藏的监听
- mysql存储过程
- E: dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题
- UVA 10566 && POJ 2507 Crossed Ladders (几何)
- 从陈年往事说说凡客的教训
- cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断)
- 三消类游戏的核心算法
- 工作中的英语积累5
- 11.2.0.4下载地址
- display:table-cell 探究
- Advanced installed基础教程(一)
- jQuery file upload的两种方式