最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 灯泡

    正文概述 陈老师   2026-01-20 15:30:35  

    题目描述

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

    image

    输入格式

    输入的第一行包含一个整数 TT,表示测试数据的组数。

    对于每组测试数据仅有一行包含三个实数 H,hH,hDD

    HH 表示灯泡的高度,hh 表示 Mildleopard 的身高,DD 表示灯泡和墙的水平距离。

    输出格式

    输出共 TT 行,每组数据占一行,表示影子的最大长度 LL,保留三位小数

    3
    2 1 0.5
    2 0.5 3
    4 3 4
    
    1.000
    0.750
    4.000
    

    数据范围与约定

    1T1001\le T \le 100

    0.01H,h,D10000.01 \le H,h,D \le 1000

    Hh0.01H-h\ge 0.01

    题目保证 H,h,DH,h,D 最多由 66 位小数构成。

    解题提示

    因本题涉及的数学知识点及图形证明均为高中知识,故直接给出:当人从墙上刚有影子处向右一直走到墙的过程中,影子总长是关于墙上影子的凸函数,即函数f(x)=Dx+HD×(Hh)xf(x)=D-x+H-\frac{D\times(H-h)}{x},本题实为三分法求该函数最大值。同时我们提示当影子在墙上的时候会取到最大值,同学可以理解为如果影子没有在墙上,那么一定不会取最大值。

    这里为了方便告诉同学们,影子上墙时刻的xxD×HhHD \times \frac{H - h}{H}。然后xx最大时刻是DD

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 灯泡