1 条题解
-
0
#include<bits/stdc++.h> using namespace std; #define eps 1e-12 double H,h,D; double f(double x){ return D-x+H-(H-h)*D/x; } signed main(){ int t,i; cin>>t; while(t--){ cin>>H>>h>>D; double l=(H-h)/H*D,r=D,m1,m2; while(l+eps<=r){ m1=l+(r-l)/3.0; m2=l+(r-l)/1.5; if(f(m1)>=f(m2)){ r=m2; }else{ l=m1; } } printf("%.3f\n",f(l)); } return 0; }
- 1
信息
- ID
- 1861
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 9
- 标签
- 递交数
- 20
- 已通过
- 3
- 上传者