ZOJ 3203 Light Bulb (三分+计算几何)

题目地址:ZOJ 3203 第一发三分。三分的原理还是挺简单的。 代码如下:

;mod=1e9+7;const int INF=0x3f3f3f3f;const double eqs=1e-9;const int MAXN=30000+10;double dist(double H, double h, double D, double x){return D-x+H-D*(H-h)/x;}double TS(double H, double h, double D){double l=D-D*h/H, r=D, ll, rr, ans1, ans2;while(r-l>=eqs){ll=(2*l+r)/3;rr=(2*r+l)/3;ans1=dist(H,h,D,ll);ans2=dist(H,h,D,rr);if(ans1>ans2) r=rr;else l=ll;}return dist(H,h,D,l);}int main(){int T;double H, h, d;scanf(“%d”,&T);while(T–){scanf(“%lf%lf%lf”,&H,&h,&d);printf(“%.3f\n”,TS(H,h,d));}return 0;}

,她是应该难过的往回走,还是蹲下来哭泣?

ZOJ 3203 Light Bulb (三分+计算几何)

相关文章:

你感兴趣的文章:

标签云: