zoj 3203 Light Bulb(公式推导|三分法)(简单)
来源:互联网 发布:图像识别 python 编辑:程序博客网 时间:2024/06/01 07:42
Compared to wildleopard's wealthiness, his brother mildleopard is rather poor. His house is narrow and he has only one light bulb in his house. Every night, he is wandering in his incommodious house, thinking of how to earn more money. One day, he found that the length of his shadow was changing from time to time while walking between the light bulb and the wall of his house. A sudden thought ran through his mind and he wanted to know the maximum length of his shadow.
Input
The first line of the input contains an integer T (T <= 100), indicating the number of cases.
Each test case contains three real numbers H, h and D in one line. H is the height of the light bulb while h is the height of mildleopard. D is distance between the light bulb and the wall. All numbers are in range from 10-2 to 103, both inclusive, and H - h >= 10-2.
Output
For each test case, output the maximum length of mildleopard's shadow in one line, accurate up to three decimal places..
Sample Input
32 1 0.52 0.5 34 3 4
Sample Output
1.0000.7504.000
公式推导:
#include<stdio.h>#include<string.h>#include<math.h>#include<iostream>#include<algorithm>using namespace std;int main(){ int T; double H,h,D; scanf("%d",&T); while(T--) { scanf("%lf%lf%lf",&H,&h,&D); double temp=sqrt((H-h)*D); double temp2=(H-h)*D/H; if(temp>=D)printf("%.3lf\n",h); else if(temp<temp2)printf("%.3lf\n",h*D/H); else { double ans=D+H-temp-(H-h)*D/temp; printf("%.3lf\n",ans); } } return 0;}
三分法:#include<iostream>#include<cstdio>using namespace std;const double eps=1e-9;double H,h,D;double getL(double x){ return D-x+H-(H-h)*D/x;}void search(){ double mid,midmid; double l=((H-h)*D)/H,r=D; while(r-l>eps) { mid=(l+r)/2; midmid=(mid+r)/2; if(getL(mid)<getL(midmid)) l=mid; else r=midmid; } printf("%.3lf\n",getL(l));}int main(){ int t; cin>>t; while(t--) { cin>>H>>h>>D; search(); }}
- zoj 3203 Light Bulb(公式推导|三分法)(简单)
- ZOJ 3203 3203 Light Bulb【三分法】
- zoj 3203 Light Bulb(三分法)
- 大三分法ZOJ 3203 Light Bulb
- ZOJ Problem Set - 3203 Light Bulb 【三分法】
- ZOJ 3203 Light Bulb【数学推导&三分】
- ZOJ 3203 Light Bulb 三分\推公式
- ZOJ 3203 Light Bulb
- ZOJ - 3203 Light Bulb
- ZOJ 3203 Light Bulb
- Zoj 3203 Light Bulb
- zoj 3203 Light Bulb
- ZOJ 3203 Light Bulb
- zoj 3203(Light Bulb)
- ZOJ 3203 Light Bulb
- ZOJ 3203 Light Bulb
- zoj 3203 Light Bulb
- ZOJ 3203 Light Bulb
- 未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
- C语言中的预编译指令
- 耻辱!
- Log4j2使用总结
- HDOJ 5305 Friends 暴力枚举
- zoj 3203 Light Bulb(公式推导|三分法)(简单)
- Android touch mode和focusableInTouchMode分析
- git基本使用
- 链表的快慢指针:查找中点
- 7月23日--File类、流、XML解析
- 关于PROFIBUS Master(H)不能正确识别并处理 DP-Slave 回复的RS帧的一些思考
- iGrimace301电脑安装教程
- WPF 开启多线程刷新UI 界面
- windbg生成dump文件