hdu 3400 Line belt
来源:互联网 发布:红警3 for mac版 编辑:程序博客网 时间:2024/05/17 19:21
这道题,设AB上走到M处,CD上走到N处,然后得到AM===MN====ND的时间,先三分M,再三分D,至于为什么。。。
感受一下情况1假设AB走的M越远,到N就越短,然后就满足三分条件
2.AB走的越近到N越短的话,直接三分到A,就是不走AB。
最后CD上同理,于是就是三分套三分。
pqr的速度都不用考虑的,反正三分能求出最值。
#include<cstdio>#include<cstring>#include<cmath> #define eps 1e-7using namespace std;//http://www.cnblogs.com/newpanderking/archive/2011/08/27/2155430.htmlstruct point{double x,y;};double p,q,v;double dis(point a,point b){return sqrt(pow((a.y-b.y),2)+pow(a.x-b.x,2));}double findy(point c,point d,point y){ point mid,midmid,left,right; double t1,t2; left = c; right = d; do { mid.x = (left.x+right.x)/2; mid.y = (left.y+right.y)/2; midmid.x = (right.x+mid.x)/2; midmid.y = (right.y+mid.y)/2; t1 = dis(d,mid)/q+dis(mid,y)/v; t2 = dis(d,midmid)/q+dis(midmid,y)/v; if(t1>t2) left = mid; else right = midmid; }while(fabs(t1-t2)>0.000001); return t1;}double find(point a,point b,point c,point d){ point mid,midmid,left,right; double t1,t2; left = a; right = b; do { mid.x = (left.x+right.x)/2; mid.y = (left.y+right.y)/2; midmid.x = (right.x+mid.x)/2; midmid.y = (right.y+mid.y)/2; t1 = dis(a,mid)/p+findy(c,d,mid); t2 = dis(a,midmid)/p+findy(c,d,midmid); if(t1>t2)left = mid; else right = midmid; }while(fabs(t1-t2)>0.000001); return t1;}int main(){int t;point a,b,c,d;scanf("%d",&t);for(int i=1;i<=t;i++){scanf("%lf%lf%lf%lf",&a.x,&a.y,&b.x,&b.y);scanf("%lf%lf%lf%lf",&c.x,&c.y,&d.x,&d.y);scanf("%lf%lf%lf",&p,&q,&v);printf("%.2f\n",find(a,b,c,d));}return 0;}
阅读全文
0 0
- HDU 3400 Line belt
- HDU 3400 Line belt
- hdu 3400 Line belt
- HDU 3400 Line belt
- hdu 3400 Line belt
- hdu 3400 Line belt
- HDU 3400 Line belt
- HDU 3400 Line belt
- HDU 3400 Line belt
- hdu 3400 Line belt
- HDU 3400 Line belt 三分
- HDU OJ 3400 Line belt
- HDU 3400 Line belt (三分法)
- hdu 3400Line belt(三分法)
- HDU 3400 Line belt 三分
- HDU 3400 Line belt(三分)
- hdu 3400 Line belt 三分
- HDU 3400 Line belt 三分
- github错误:Permission denied to deploy key......
- java对象和Map之间互相转换的三种实现方式
- 调度线程池ScheduledThreadPool使用示例
- 1101. Quick Sort (25)
- 设计模式(16)--迭代器模式
- hdu 3400 Line belt
- 前端常用网站
- 如何去Tocat官网下载tomcat
- eclipse xml editor从视图编辑改为源代码编辑
- 贝叶斯思维(实例1)——贝叶斯基础框架
- 线程八锁示例
- Java服务端支付功能模块--(一)支付宝支付
- 2017多校联合第二场 1009题 hdu 6053 TrickGCD (超详细!!!)莫比乌斯 容斥
- 线程池ThreadPool使用示例