CF_5D_FollowTrafficRules
2016-03-30 20:32
274 查看
D. Follow Traffic Rules
time limit per test
1 second
memory limit per test
64 megabytes
input
standard input
output
standard output
Everybody knows that the capital of Berland is connected to Bercouver (the Olympic capital) by a direct road. To improve the road's traffic capacity, there was placed just one traffic sign, limiting the maximum speed. Traffic signs in Berland are a bit peculiar,
because they limit the speed only at that point on the road where they are placed. Right after passing the sign it is allowed to drive at any speed.
It is known that the car of an average Berland citizen has the acceleration (deceleration) speed of a km/h2,
and has maximum speed ofv km/h. The road has the length of l km,
and the speed sign, limiting the speed to w km/h, is placed d km
(1 ≤ d < l) away from the capital of Berland. The car has a zero speed at the beginning of the journey. Find the minimum time
that an average Berland citizen will need to get from the capital to Bercouver, if he drives at the optimal speed.
The car can enter Bercouver at any speed.
Input
The first line of the input file contains two integer numbers a and v (1 ≤ a, v ≤ 10000).
The second line contains three integer numbersl, d and w (2 ≤ l ≤ 10000; 1 ≤ d < l; 1 ≤ w ≤ 10000).
Output
Print the answer with at least five digits after the decimal point.
Examples
input
output
input
output
题意给你一个车的最大速度v加速度a(加速或者刹车都是这个加速度)
给你一个路程l其中d处有一个测速点速度不能超过w
问从速度为0开始最快要多久能通过终点
这里特别注意那是一个测速点
之后速度可以比w大
其他的就是分不同情况讨论就可以了,具体讨论见代码
运动学物理题……
time limit per test
1 second
memory limit per test
64 megabytes
input
standard input
output
standard output
Everybody knows that the capital of Berland is connected to Bercouver (the Olympic capital) by a direct road. To improve the road's traffic capacity, there was placed just one traffic sign, limiting the maximum speed. Traffic signs in Berland are a bit peculiar,
because they limit the speed only at that point on the road where they are placed. Right after passing the sign it is allowed to drive at any speed.
It is known that the car of an average Berland citizen has the acceleration (deceleration) speed of a km/h2,
and has maximum speed ofv km/h. The road has the length of l km,
and the speed sign, limiting the speed to w km/h, is placed d km
(1 ≤ d < l) away from the capital of Berland. The car has a zero speed at the beginning of the journey. Find the minimum time
that an average Berland citizen will need to get from the capital to Bercouver, if he drives at the optimal speed.
The car can enter Bercouver at any speed.
Input
The first line of the input file contains two integer numbers a and v (1 ≤ a, v ≤ 10000).
The second line contains three integer numbersl, d and w (2 ≤ l ≤ 10000; 1 ≤ d < l; 1 ≤ w ≤ 10000).
Output
Print the answer with at least five digits after the decimal point.
Examples
input
1 1 2 1 3
output
2.500000000000
input
5 70 200 170 40
output
8.965874696353
题意给你一个车的最大速度v加速度a(加速或者刹车都是这个加速度)
给你一个路程l其中d处有一个测速点速度不能超过w
问从速度为0开始最快要多久能通过终点
这里特别注意那是一个测速点
之后速度可以比w大
其他的就是分不同情况讨论就可以了,具体讨论见代码
运动学物理题……
#include <iostream> #include <stdio.h> #include <string.h> #include <math.h> using namespace std; int main() { int aa,vv; int ll,dd,ww; scanf("%d%d%d%d%d",&aa,&vv,&ll,&dd,&ww); double a=aa,v=vv,l=ll,d=dd,w=ww; double t1=v/a; double x1=0.5*a*t1*t1; //加到最大速度的距离 double t2=w/a; double x2=0.5*a*t2*t2; //加到限制速度的距离 double t3=(v-w)/a; double x3=w*t3+0.5*a*t3*t3; //从w加速到最大速度的距离 if(v<=w) { if(x1>=l) printf("%lf\n",sqrt(l*2.0/a)); else printf("%lf\n",t1+(l-x1)/v); } else { if(d<=x2) //d最小一直加速到匀速即可 { if(x1>=l) printf("%lf\n",sqrt(l*2.0/a)); else printf("%lf\n",t1+(l-x1)/v); } else if(d<=x1+x3) //先加速后减速到w { double vm1=sqrt(a*(d-x2)+w*w); if(l-d<=x3) { double vm2=sqrt(2*a*(l-d)+w*w); printf("%lf\n",t2+(vm1-w)*2/a+(vm2-w)/a); } else printf("%lf\n",t2+(vm1-w)*2/a+t3+(l-d-x3)/v); } else //加速匀速减速到w { if(l-d<=x3) { double vm2=sqrt(2*a*(l-d)+w*w); printf("%lf\n",t1+t3+(d-x1-x3)/v+(vm2-w)/a); } else printf("%lf\n",t1+t3+(d-x1-x3)/v+t3+(l-d-x3)/v); } } return 0; }
相关文章推荐
- 完成成绩等级输出程序
- Python基础--python操作sqlite
- 内部类 学习记录
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- easyui-datagrid 编辑单元格
- 几种C++ 字符串分割的方法
- ARC
- 后缀自动机(SAM)学习笔记
- 28、JSONObject与JSONArray的使用
- (第5讲).java和.class文件,以及main函数
- 爱加密Android APk 原理解析
- 关于 msql 使用过程中的总结
- 数据结构单链表删除相同元素(int)
- Accelerated C++:通过示例进行编程实践——习题解答(第1章)
- EF架构D层中公共方法使用文档说明书-张连海-2014年12月7日
- javascript之原型和原型链
- Android实现“打招呼”
- jQueryMobile(一)
- 交换两个数的特殊方法
- 循序渐进之Maven(3) - 第一个Web项目