UVA - 10566 Crossed Ladders

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

给出x,y,c,求?的长度


我的做法:


首先写了一个关于x,y,c,?的表达式,发现拆开后是解一个四元一次方程,比较麻烦


发现表达式的一边是个关于?的单调递减函数后,就用二分来解了


我的代码:

#include<iostream>
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
const double eps=1e-4;
int main()
{
	double l,r,m,a,b,x,y,c;
	while(cin>>x>>y>>c)
	{
		l=0;
		r=min(x,y);
		while(r-l>eps)
		{
			m=(l+r)/2;
			a=sqrt(pow(x,2)-pow(m,2));
			b=sqrt(pow(y,2)-pow(m,2));
			if(a*b/(a+b)<c)
				r=m;
			else
				l=m;
		}
		printf("%.3lf\n",l);
	}
}


光学仿真案例(4) 基于纳米微粒激发平面波的米氏散射FDTD仿真模拟 本案例展示了一个基于纳米粒子激发平面波的米氏散射仿真模型(mie scattering),计算其散射和吸收截面、局域场增强和远场散射分布,同时将截面和远场结果与解析解进行了比较,验证了仿真模拟的准确性。 阅读详情

相关推荐

SigmaStudio进阶技巧:如何用ADAU1701实现60段EQ与防啸叫算法

本文深入探讨了如何在ADAU1701 DSP芯片上实现专业级音频处理系统。通过精密的资源规划与架构设计,详细讲解了构建高达60段参数均衡器(EQ)的有效方法,并集成了移频与自适应陷波双策略的智能防啸叫算法。内容涵盖从SigmaStudio工程优化、算法模块组合到系统联调实战的全流程,旨在帮助中高级开发者充分利用ADAU1701性能,打造稳定、高效的音频处理解决方案。

weixin_28256233的博客 357

uva 10566

题意:两栋楼间有两个斜放的梯子,斜放的梯子的交点的高是c,两个梯子的长度是x和y,问楼的间距。 题解:设交点到左边楼的距离是a,交点到右边楼的距离就是 间距 - a,根据相似三角形的性质: c / sqrt(x * x - 间距 * 间距) = (间距 - a) / 间距 c / sqrt(y * y - 间距 * 间距) = a / 间距 那么这两个式子相加,就可以得出 c / sqrt

俯瞰风景 608

别再用图片水印了!5种你可能不知道的文本隐写术实战

本文介绍了5种高效的文本隐写术,帮助创作者在不影响内容可读性的情况下嵌入版权信息。从零宽度字符到同形字替换,再到标点符号变形和行尾空格编码,这些技术为数字内容提供了轻量级版权保护方案,特别适用于社交媒体和电子合同等场景。

k8l9m0n的博客 197

UVA 10566 计算几何水题

#include <iostream> #include <algorithm> #include <cmath> #define lc (d<<1) #define rc (d<<1|1) #define m (l+r>>1) #define N 100005 using namespace std; //s(x^2 - ...

恒持此志成永志 266

uva 10566 - Crossed Ladders(几何+二分)

题目链接:uva 10566 - Crossed Ladders 二分答案,几何计算出对应的H,与C比较 #include #include #include #include using namespace std; const double eps = 1e-9; double X, Y, C; double solve (double a) { doubl

不慌不忙、不急不躁 766

Crossed Ladders

Description 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

reb0rn 443

UVa --10566

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1507 设 交点到右端点的距离为 d 底边长为 L  则有三角形相似得     d / L = c / sqrt(y^2 - L^2)               (1)    

风儿-zsj的专栏 725

uva 10566 - Crossed Ladders

题意:如图,已知 x,y,c,其中 c 是 x 和 y 的交点到地面的距离。求“?”的长度。 #include #include #include #define sqr(a) ((a)*(a)) #define eps 1e-8 using namespace std; int sig(double a) { return (a>eps)-(a<-eps); } i

二十一画生的专栏 1232

UVA10566 Crossed Ladders 题解

有关。牛顿法迭代需要用户自行定义一个初始值。

0xAC3375 的博客 591

Uva10566Crossed Ladders

列出一个包含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,以此二分,再注意精度即可(误差小

better_space的博客 404

Uva - 10566 - Crossed Ladders

题意:两栋楼之间有两个梯子,如下图中的虚线所示,一个梯子的长度为x,另一个梯子的长度为y,两个梯子的交点离地面的高度为c,问两栋楼之间的距离。 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=20835#problem/G ——>>几何题,设宽度为w,交点距右楼距离为u,则 利用相似三角形推出关系:

无节操 1924

UVA 10566 Crossed Ladders(二分)

题目链接 二分+1-c/sqrt(x*x-a*a)-c/sqrt(y*y-a*a)=0 #include<algorithm> #include<cstdio> #include<cmath> using namespace std; double x,y,c; double qw(double a){ return 1-c/sqrt(x*x-a*a)...

qwjy的博客 658

UVa 10566 - Crossed Ladders

设宽度为w,二分w。 1 #include <cstdio> 2 #include <cmath> 3 #include <algorithm> 4 5 #define eps 1e-6 6 7 using namespace std; 8 9 int main() 10 { 11 doub...

aegt43853的博客 125

UVa 10566 - Crossed Ladders 【二分】

Crossed Ladders Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %lluDescription A narrow street is lined with tall buildings. An x foot long ladder is rested at the bas

博客已搬迁到http://www.cnblogs.com/cniwoq/ 414

UVA 10566 Crossed Ladders

这个题纠结了好长时间了。

Shimmer_的专栏 685

计算几何(二分) - Crossed Ladders - UVA 10566

计算几何(二分) - Crossed Ladders - UVA 10566 题意: 如上图,给定三个浮点数x,y,c,计算两个房子之间的间距。如上图,给定三个浮点数x,y,c,计算两个房子之间的间距。如上图,给定三个浮点数x,y,c,计算两个房子之间的间距。 其中c是两条虚线交点的竖直高度。其中c是两条虚线交点的竖直高度。其中c是两条虚线交点的竖直高度。 输入: 多组测试数据,多组测试数据,多组测试数据, 每组包括三个浮点数。依次表示,x,y,c。每组包括三个浮点数。依次表示,x,y,c。每组包括三个浮

njuptACMcxk的博客 302

uva 10566 Crossed ladders(二分 + 几何)

Crossed ladders Time Limit: 1000ms Memory Limit: 32768KB 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 s

博客的乐园 357

uva 10566 Crossed Ladders (二分)

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1507   比较简单的一题,直接对答案二分。因为对于同一组case,答案m越大,交点的高度就越小,可以从计算交点的函数中看出来。计算交点,假设mx=sqrt(sqr(x)-sqr(m...

weixin_30399797的博客 63

UVA 10566 && POJ 2507 Crossed Ladders (几何)

UVA 10566 && POJ 2507 Crossed Ladders (几何)

herongwei 的 BLOG 1672
上一篇: UVA - 12301-An Angular Puzzle
下一篇: UVA - 11186-Circum Triangle
Last0rder
博客等级 码龄18年 50粉丝 325原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值