「一本通 1.2 练习 3」灯泡

news2024/10/6 10:35:15

题目描述

相比 w i l d l e o p a r d wildleopard wildleopard 的家,他的弟弟 m i l d l e o p a r d mildleopard mildleopard 比较穷。他的房子是狭窄的而且在他的房间里面仅有一个灯泡。每天晚上,他徘徊在自己狭小的房子里,思考如何赚更多的钱。有一天,他发现他的影子的长度随着他在灯泡和墙壁之间走到时发生着变化。一个突然的想法出现在脑海里,他想知道他的影子的最大长度。

在这里插入图片描述

输入格式

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

对于每组测试数据,仅一行,包含三个实数 H , h H,h Hh D , H D,H DH 表示灯泡的高度, h h h 表示 m i l d l e o p a r d mildleopard mildleopard 的身高, D D D 表示灯泡和墙的水平距离。

输出格式

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

样例

输入

3
2 1 0.5
2 0.5 3
4 3 4

输出

1.000
0.750
4.000

数据范围与提示

T ≤ 100 , 1 0 − 2 ≤ H , h , D ≤ 1 0 3 , 1 0 − 2 ≤ H − h 。 T \leq 100,10^{-2} \leq H,h,D \leq 10^3,10^{-2} \leq H-h。 T100102H,h,D103102Hh

思路

m i l d l e o p a r d mildleopard mildleopard 离灯泡的距离为 x x x(横向距离,不是直线距离)。再用相似三角形的知识,求解即可。
公式(自取): d − x + H − ( H − h ) ∗ d / x d - x + H - (H - h) * d / x dx+H(Hh)d/x.

code

#include <bits/stdc++.h>

using namespace std;

const double eps = 1e-8;
double H, h, d;

double work(double x)
{
	return d - x + H - (H - h) * d / x;
}

int main()
{
	int T;
	cin >> T;
	while (T--)
	{
		scanf("%lf %lf %lf", &H, &h, &d);
		double l = (H - h) * d / H;
		double r = d;
		double lmid, rmid;
		while (r - l > eps)
		{
			lmid = l + ((r - l) / 3.0);
			rmid = r - ((r - l) / 3.0);
			if (work(lmid) > work(rmid)) r = rmid;
			else l = lmid;
		}
		printf("%.3lf\n", work(r));
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/559880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索Kotlin 1.8.20新特性

探索Kotlin 1.8.20新特性 Kotlin 1.8.20已经发布&#xff0c;我们将探索一些新功能和改进。 我们将仅涵盖新的语言功能和标准库更新。请参考参考资料部分以了解此版本的完整详情。 语言更新 Enum 类entries函数 为什么需要这个函数&#xff1f; values() - 返回数组&#x…

电商数仓建模案例

目录 一、数据仓库分层规划二、数据仓库构建流程2.1 数据调研2.2 明确数据域2.3 构建业务总线矩阵2.4 明确统计指标2.4 维度模型设计2.5 汇总模型设计 三、数仓建模之ODS层3.1 日志表3.1.1 日志表表结构 3.2 业务表3.2.1 业务表表结构 四、数仓开发之DIM层4.1 商品维度表4.2 优…

The Sandbox 与 Biconomy 合作,达成交易里程碑

双方将继续合作利用 Polygon Labs 来降低用户的成本和 The Sandbox 的碳足迹。 我们团队继续推动更好的整体项目生态系统的可持续性&#xff0c;同时沿途的里程碑向我们展示这些进展产生的影响。我们很高兴地宣布&#xff0c;自从在 Biconomy.io 的帮助下首次在 Polygon 上部署…

网络地址转换:DNAT和SNAT有啥区别?分别用于什么场景?

什么是网络地址转换&#xff08;NAT&#xff09;&#xff1f; 网络地址转换&#xff08;Network Address Translation&#xff0c;简称NAT&#xff09;是一种常见的网络技术&#xff0c;用于在私有网络&#xff08;如家庭或办公室网络&#xff09;与公共网络&#xff08;如互联…

POI Excel 基础(一)

POI 5.2.3 官网 github POI-HSSF and POI-XSSF/SXSSF 用于访问Microsoft Excel格式文件的Java API HSSF&#xff1a;是Horrible SpreadSheet Format的缩写&#xff0c;也即“可怕的电子表格格式” 是操作Excel97-2003版本&#xff0c;扩展名为.xls。XSSF&#xff1a; 是操作…

【JavaSE】Java基础语法(三)

文章目录 1. &#x1f37c;流程控制语句1.1 流程控制语句分类1.2 分支结构之if语句1.2.1 if语句格式3案例 2. &#x1f37c;switch语句2.1 分支语句switch语句2.2 switch案例-减肥计划2.3 switch语句case穿透 3. &#x1f37c;for 循环3.1 循环语句-for循环3.2 for循环案例-求1…

项目集管理—项目集相关方参与

项目集相关方参与是识别和分析相关方需求、管理期望和沟通&#xff0c;以促进相关方支持的绩效领域。 本章内容包括&#xff1a; 1 项目集相关方识别2 项目集相关方分析3 项目集相关方参与规划4 项目集相关方参与5 项目集相关方沟通 相关方是指能够影响项目、项目集或项目组合…

Java 实现实时监听MySQL数据库变更MySQLBinListener

目录 1、导出需要的类和接口 2、 定义 MySQLBinlogListener类 3、私有方法&#xff0c;启动重连定时器 4、完整代码 编写一个MySQL数据库实时变更的监听器。 为什么要编写这个一个监听器&#xff1a;为了实时监测和响应MySQL数据库中的变更事件 实时数据同步&#xff1a;通…

运营-12.转化

用户注册、登录、浏览、发布、购买等行为都可以视为转化&#xff1b;而对于电商产品而言&#xff0c;狭义的转化即为获取 收入&#xff0c;就是要用户买单、消费&#xff0c;把免费用户转化为付费用户&#xff1b; 转化的重要性 1.转化意味着用户有投入&#xff0c;投入即沉没成…

Serverless冷扩机器在压测中被击穿问题 | 京东云技术团队

一、现象回顾 在今天ForceBot全链路压测中&#xff0c;有位同事负责的服务做Serverless扩容&#xff08;负载达到50%之后自动扩容并上线接入流量&#xff09;中&#xff0c;发现新扩容的机器被击穿&#xff0c;监控如下&#xff08;关注2:40-3:15时间段的数据&#xff09;&…

人工智能AI 计算平台介绍

人工智能AI计算平台介绍 产品及服务&#xff1a; 标准模块开源 核心模块及服务收费 资源齐全 服务支持 产品使用者&#xff1a; 自行扩充组件 快速二次开发 轻松搭建企业级 数据挖掘应用 自…

linux0.12-10-1-总体功能

第10章 字符设备驱动程序 [466页] 10-1 总体功能 本章的程序可分成三部分: 第一部分是是关于RS-232串行线路驱动程序&#xff0c;包括程序rs_io.s和serial.c&#xff1b; 第二部分是涉及控制台的驱动程序&#xff0c;包括键盘中断驱动程序keyboard.S和控制台显示驱动程序con…

人工智能AI会话+文字转为markdown格式/思维导图的工具的介绍和使用

AI会话工具和文字转换为markdown格式 1、这里首先要有一个xmind思维导图软件&#xff0c;下载链接在下方。XMind: 2、本章中列举的AI工具是近期国内交火的prompt&#xff08;文心一言 作者还没排上队&#xff09; https://chat.givemeprompt.com/3、首先运用此工具生成你想要的…

leetcode刷题之数组问题总结,二分法,移除元素,

目录 一、二分查找相关应用704.二分查找35.搜索插入位置方法一:二分法暴力解法 34.在排序数组中查找元素的开始位置和最后一个位置方法一&#xff1a;暴力解法方法二&#xff1a;二分法&#xff0c;确定左右两侧的边界 69.x的平方根方法一:二分法方法二&#xff1a;暴力解法错解…

k8s1.26.1部署 ingress-nginx-controller(1.6.4)

文章目录 参考ingress-nginx git地址ingress-nginx 的 deployment的地址&#xff1a; 参考 1.24版本k8s集群配置Nginx-Ingressrancher配置https域名访问图文教程 ingress-nginx git地址 https://github.com/kubernetes/ingress-nginx ingress-nginx 的 deployment的地址&a…

cdn配置(超详细+图解+原理)

具体的详细配置在右侧目录翻到“三”&#xff0c;前面的一二是将原理 以腾讯云的cdn为例&#xff0c;其它家的大同小异 一、cdn作用和配置思路 &#xff08;一&#xff09;cdn作用 1.加速访问 cdn服务通常有多个节点缓存&#xff0c;用户可以就近获取&#xff0c;延迟较低 …

得物App万米高空WiFi拦截记

0.前情摘要 在一次飞行途中&#xff0c;我司客户遭遇到了得物App在飞机上的WiFi网络访问异常的问题。这让我们意识到在特定场景下&#xff0c;用户可能面临无法使用得物App的困扰。经过SRE团队与无线团队、网络团队联合全力排查与优化&#xff0c;最终成功解决了这一问题&…

PAN(Pyramid Attention Network for semantic segmentation)paper解读

Pyramid Attention Network for Semantic Segmentation讲PAN用于语义分割&#xff0c;网络结构类似encoder-decode, u-shape。 背景 encoder-decoder结构&#xff0c; 在encoding到高维度特征的过程中&#xff0c;原始的纹理信息会遭遇空间分辨率损失&#xff0c;例如FCN。 P…

Spring Boot进阶(39):SpringBoot之Jackson配置全局时间日期格式 | 超级详细,建议收藏

1. 前言&#x1f525; 不知道小伙伴对于日期字段&#xff0c;在项目中都是如何处理的&#xff0c;是单独给每个字段都自定义日期格式还是做全局格式设置&#xff1f;这个我之前啊&#xff0c;是对日期都是有做单独配置&#xff0c;给每个Entity带有日期字段的都配JsonFormat注解…

SolVES 模型与多技术融合【QGIS、PostgreSQL、ARCGIS、MAXENT、R】实现生态系统服务功能社会价值评估及拓展案例分析

生态系统服务是人类从自然界中获得的直接或间接惠益&#xff0c;可分为供给服务、文化服务、调节服务和支持服务4类&#xff0c;对提升人类福祉具有重大意义&#xff0c;且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目&#xff08;Millennium Ecosystem Asse…