首页 > 其他分享 >「1.2」灯泡

「1.2」灯泡

时间:2024-08-20 18:51:43浏览次数:13  
标签:lf 1.2 double 样例 灯泡 m1 m2

 

问题背景

「一本通1.2 练习3」

题目描述

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

输入格式

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

输出格式

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

样例输入1

3
2 1 0.5
2 0.5 3
4 3 4

样例输出1

1.000
0.750
4.000

注释说明

T≤100,0.01≤H,h,D≤1000,0.01≤H-h

题目来源

ZOJ 3203

#include<bits/stdc++.h>
using namespace std;
int t;
double h,hh,d,s,l1,l2,l,r,p;
double f(double x){
	if(x<p){
			return (d*hh-h*x)/(d-x)+x;
	}
	return (d-x)*hh/(h-hh);
}

int main() {
	scanf("%d",&t);
	while(t--){
		scanf("%lf%lf%lf",&h,&hh,&d);
		l=0;r=h+d;
		p=d*hh/h;
		while(r-l>=1e-10){
			double m1=l+(r-l)/3,m2=r-(r-l)/3;
			//printf("%lf %lf\n",m1,m2);
			if(f(m1)>=f(m2))r=m2;
			else l=m1;
		}printf("%.3lf\n",f(r));
	}
}

标签:lf,1.2,double,样例,灯泡,m1,m2
From: https://blog.csdn.net/no_play_no_games/article/details/141365008

相关文章

  • AnolisOS 7.9 静默安装Oacle 11.2.0.4
    目录环境准备安装包下载上传安装包创建组和用户创建目录及设置权限编辑用户环境变量编辑资源限制修改内核参数编辑/etc/pam.d/login文件安装依赖包关闭防火墙selinux安装数据库软件准备db_install.rsp响应文件运行runInstaller进行安装创建监听创建数据库准备dbca.rsp响应文件创建......
  • Linux安装nginx1.26.2
    第一步:去官网下载指定的版本http://nginx.org/en/download.html第二步:解压压缩包:tar-zxvf  ......tar.gz第三步:编译nginx ./configure如果出现报错:./configure:error:theHTTPgzipmodulerequiresthezliblibrary.Youcaneitherdisablethemodulebyusing--......
  • 安装IDEA2021.2.1(含安装包)及其扩展设置
    一、下载通过百度网盘分享的文件:ideaIU-2021.2.1.exe链接:https://pan.baidu.com/s/1cCUHNm0dpWlfkxf5RCEgfw 提取码:v62e 二、安装 安装视频网址:Java基础概念-12-idea的概述和下载安装_哔哩哔哩_bilibili三、idea中的第一个代码 如何该类名四、扩展设置......
  • BC1.2和PD 充电的区别
    USBBatteryChargingSpecification1.2(BC1.2)和USBPowerDelivery(USBPD)是两个不同的充电标准,它们在应用场景、充电能力、充电协议等方面有显著区别。1.标准简介BC1.2(BatteryChargingSpecification1.2)发布时间:2010年左右。设计目的:为了在标准USB端口上实现更......
  • 智匠MindCraft AI 1.2.6版本更新啦!!
    智匠MindCraftAI​​​​​​​迎来1.2.6版本更新,本次更新四大内容:1、网页代码及python代码渲染优化。更稳定的代码渲染功能,您可以在智匠AI中,实现炫酷的网页效果,或者用python制作图表和游戏。2、语音实验室增加语音识别功能,可识别多国语言和方言。用户可以在语音实验室中,选......
  • Kubeadm方式部署3master,2work集群(Kubernetes-1.22.0)
    目录一.环境准备二.安装Docker和keepalived三.安装kubernetes四.获取镜像五.集群部署启动六. 配置haproxy七.配置keepalived八. 初始化集群九.配置加入集群十.配置使用网络插件十一. kubernetes命令自动补全Kubernetes-1.22.0可视化部署-CSDN博客......
  • Win10运行Nginx 1.27.0
    有时候在Win10下预览一下页面效果,需要起一个临时的web服务器,以下记录运行Nginx的步骤前往https://nginx.org/en/download.html下载windows使用的压缩包解压,假设目录为nginx-1.23.3到目录下命令行执行startnginx启动Nginxcdc:\nginx-1.23.3startnginx运行后可......
  • Windows出现出现身份验证错误。要求的函数不受支持 远程计算机: 10.17.1.2 这可能是由
    Windows出现出现身份验证错误。要求的函数不受支持远程计算机:10.17.1.2这可能是由于CredsSP加密数据库修正。若要了解详细信息,请访问https://go.microsoft.com/fwlink/?linkid=866660解决方案解决方法第一步点开控制面板选择系统与安全第二步选择“允许远程访问......
  • Kubernetes-二进制高可用部署v1.23.x
    目录高可用架构k8s集群组件ectdkube-apiserverkube-schedulerkube-controller-managerkubeletkube-proxykubectl高可用分析负载均衡节点设计1.环境准备1.1环境规划1.2所有节点配置host解析1.3安装必备工具1.4所有节点关闭防火墙、selinux、dnsmasq、swap1.5Master01节点免密......
  • Flink 1.20 最新版本 Windows本地运行
    ApacheFlink1.20是Flink的一个较新版本,它带来了许多改进和新功能,如物化表、统一的检查点文件合并机制等。然而,关于Flink1.20在Windows本地运行的具体步骤,虽然Flink本身是跨平台的,但官方文档和社区资源可能更多地关注于Linux环境下的部署和配置。不过,基于Flin......