当前位置: 首页 > news >正文

打卡信奥刷题(2960)用C++实现信奥题 P5931 [清华集训 2015] 灯泡

P5931 [清华集训 2015] 灯泡

题目背景

202220222022年,评测数据发生了翻天覆地的变化,请202220222022年前通过此题的人重新交一遍。

题目描述

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

输入格式

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

对于每组测试数据仅有一行包含三个实数H,hH,hH,hDDDHHH表示灯泡的高度,hhh表示 Mildleopard 的身高,DDD表示灯泡和墙的水平距离。

输出格式

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

输入输出样例 #1

输入 #1

3 2 1 0.5 2 0.5 3 4 3 4

输出 #1

1.000 0.750 4.000

说明/提示

1≤T≤100,0.01≤H,h,D≤1000,H−h≥0.011\le T \le 100,0.01 \le H,h,D \le 1000,H-h\ge 0.011T100,0.01H,h,D1000,Hh0.01,保证H,h,DH,h,DH,h,D最多由666位小数构成。

C++实现

#include<bits/stdc++.h>#defineMAXN100000usingnamespacestd;intn;doubleH,h,D;doubleask(doublex){//返回大的那种情况if(x<=h*D/H)returnx+(H-(H-h)*D/(D-x));elsereturnx-D+((D-x)*H/(H-h));}voidthree_cut(){//三分,具体原理不懂可以去看模板题题解doublel=0,r=MAXN;while(r-l>=0.0000001){doublelmid=l+(r-l)/3;doublermid=r-(r-l)/3;if(ask(lmid)>ask(rmid))r=rmid;elsel=lmid;}printf("%.3lf\n",ask(l));}intmain(void){scanf("%d",&n);for(inti=0;i<n;i++){scanf("%lf%lf%lf",&H,&h,&D);three_cut();}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/482866/

相关文章:

  • 机器人控制必看:旋转矩阵在六轴机械臂运动规划中的5个坑
  • WaveTools:优化《鸣潮》游戏体验的开源工具创新解决方案
  • Chord多模态检索:Elasticsearch集成方案
  • 安卓毕设题目推荐:基于效率提升的选题策略与技术实现路径
  • Phi-3-vision-128k-instruct新手教程:无需CUDA基础的图文对话模型上手
  • 从单兵作战到团队协作:Coze多Agent模式构建复杂智能体的实战解析
  • Halcon仿射矩形实战:用rectangle2中点坐标实现高精度物体对齐(附完整代码)
  • 【MOOC】华中科技大学计算机组成原理慕课精讲-第四章-存储系统核心概念与真题解析
  • 车载以太网转换器选购指南:从100BASE-T1到1000BASE-T1的8种方案对比
  • 赣州章贡区琴行哪家好
  • 软件测试Bug篇
  • 手把手教你用ISCE+mintpy处理Sentinel-1数据(附完整参数配置)
  • 维修电工必看:CODESYS SFC顺序指令实战Demo详解(附完整代码)
  • 【LangChain专栏】Retrieval 高级检索策略
  • Chord - Ink Shadow 代码生成潜力探索:辅助编写基础Python爬虫脚本
  • 从MySQL慢查询到CPU 100%:一次IO等待引发的性能故障复盘
  • 热键冲突智能诊断系统:破解Windows快捷键资源竞争的技术方案
  • MybatisPlus + ShardingSphere JDBC批量插入不返回主键?5.2.1版本终极解决方案
  • 避坑指南:Vivado多层IP嵌套时模块重名的3种解决方案(附IP-XACT文件修改示例)
  • 【2026年最新600套毕设项目分享】springboot河南传统文化的展示与交流网站平台(14153)
  • 线性规划(Linear Programming, LP)
  • 基于微信小程序的勤工俭学系统设计与实现
  • Phi-3-vision-128k-instruct代码实例:Python调用vLLM API实现图片问答
  • SpringBoot新手避坑指南:从零搭建Web项目到Thymeleaf模板实战
  • 立创EDA实战:TDA1521双声道HiFi功放板发烧级元件选型与PCB布局解析
  • 避坑指南:1688/抖音店铺批量备注最容易出错的3个环节(附正确操作截图)
  • Qwen3-14B开源大模型实践:Qwen3-14b_int4_awq在vLLM下支持function calling实测
  • 为什么92%的Dify团队仍在用错误方式统计Token成本?3个被官方文档忽略的计费陷阱与权威校验脚本
  • CLIP图文匹配工具实测:上传宠物图,自动识别“猫”还是“狗”
  • Qwen3-14b_int4_awq实战入门:基于Chainlit的Web化文本生成应用搭建