P5931 [清华集训2015]灯泡

文章描述了一个关于几何光学的问题,主人公Mildleopard试图找出房间内影子的最大长度。通过设置灯泡高度(H),人的身高(h)和灯泡到墙的距离(D),利用相似三角形原理和单峰凸函数的三分法求解问题。给出的AC代码展示了如何通过编程解决这一数学模型。
摘要由CSDN通过智能技术生成

题记

你说得对,但我是数学题

题目

描述

相比 Wildleopard 的家,他的弟弟 Mildleopard
比较穷。他的房子是狭窄的,而且在他的房间里仅有一个灯泡。每天晚上,他徘徊在自己狭小的房子里,思考如何赚更多的钱。有一天,他发现他的影子的长度随着他在灯泡和墙壁之间走动时会发生变化。一个突然的想法出现在他的脑海里,他想知道在房间里他的影子的最大长度。

在这里插入图片描述

输入格式

输入文件的第一行包含一个整数 TT,表示测试数据的组数。
对于每组测试数据仅有一行包含三个实数 H,h 和 D,H表示灯泡的高度,h表示 Mildleopard 的身高,D表示灯泡和墙的水平距离。

输出格式

输出文件共 T 行,每组数据占一行,表示影子的最大长度 L。当你的输出与标准输出的绝对误差不超过 10^-3即视作通过。

样例

输入

3
2 1 0.5
2 0.5 3
4 3 4

输出

1.000
0.750
4.000

解析

思路

共有两种情况:
①影子爬墙
②影子不爬墙

①情况

我们设在地上的影长为x,墙上的影长为y
在这里插入图片描述

则有
L = x + y L=x+y L=x+y
根据相似
则有
x D = h − y H − y {x\over D}={h-y\over H-y} Dx=<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值