墙相对移动
2016-06-02 23:46
309 查看
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
Luke Skywalker got locked up in a rubbish shredder between two presses. R2D2 is already working on his rescue, but Luke needs to stay alive as long as possible. For simplicity we will assume that everything happens on a straight line, the presses are initially
at coordinates 0and L, and they move towards each other with speed v1 and v2,
respectively. Luke has width d and is able to choose any position between the presses. Luke dies as soon as the distance between the presses is less than his width. Your task is to determine
for how long Luke can stay alive.
Input
The first line of the input contains four integers d, L, v1, v2 (1 ≤ d, L, v1, v2 ≤ 10 000, d < L) —
Luke's width, the initial position of the second press and the speed of the first and second presses, respectively.
Output
Print a single real value — the maximum period of time Luke can stay alive for. Your answer will be considered correct if its absolute or relative error does not exceed 10 - 6.
Namely: let's assume that your answer is a, and the answer of the jury is b. The checker program will consider your answer correct,
if
.
Sample Input
Input
Output
Input
Output
Hint
In the first sample Luke should stay exactly in the middle of the segment, that is at coordinates [2;4], as the presses move with the same speed.
In the second sample he needs to occupy the position
. In this case both presses move to his
edges at the same time.
解题思路;
这道题看着挺难,其实把题读懂,就很简单。两个墙相对移动,速度相加。
代码:
#include<stdio.h>
int main()
{
double d,l,v1,v2;
while(scanf("%lf%lf%lf%lf",&d,&l,&v1,&v2)!=EOF)
{
printf("%.20lf\n",(l-d)/(v1+v2));
}
return 0;
}
Submit Status
Description
Luke Skywalker got locked up in a rubbish shredder between two presses. R2D2 is already working on his rescue, but Luke needs to stay alive as long as possible. For simplicity we will assume that everything happens on a straight line, the presses are initially
at coordinates 0and L, and they move towards each other with speed v1 and v2,
respectively. Luke has width d and is able to choose any position between the presses. Luke dies as soon as the distance between the presses is less than his width. Your task is to determine
for how long Luke can stay alive.
Input
The first line of the input contains four integers d, L, v1, v2 (1 ≤ d, L, v1, v2 ≤ 10 000, d < L) —
Luke's width, the initial position of the second press and the speed of the first and second presses, respectively.
Output
Print a single real value — the maximum period of time Luke can stay alive for. Your answer will be considered correct if its absolute or relative error does not exceed 10 - 6.
Namely: let's assume that your answer is a, and the answer of the jury is b. The checker program will consider your answer correct,
if
.
Sample Input
Input
2 6 2 2
Output
1.00000000000000000000
Input
1 9 1 2
Output
2.66666666666666650000
Hint
In the first sample Luke should stay exactly in the middle of the segment, that is at coordinates [2;4], as the presses move with the same speed.
In the second sample he needs to occupy the position
. In this case both presses move to his
edges at the same time.
解题思路;
这道题看着挺难,其实把题读懂,就很简单。两个墙相对移动,速度相加。
代码:
#include<stdio.h>
int main()
{
double d,l,v1,v2;
while(scanf("%lf%lf%lf%lf",&d,&l,&v1,&v2)!=EOF)
{
printf("%.20lf\n",(l-d)/(v1+v2));
}
return 0;
}
相关文章推荐
- 内联汇编
- mysql编程(存储过程和触发器)
- (转) Quick Guide to Build a Recommendation Engine in Python
- UVALive 4654 (最小路径覆盖)
- docker实践入门之四
- 计算器作业6
- XTU 1244 Estrella's Chocolate
- 周总结
- http://blog.csdn.net/dancing_night/article/details/46698853
- linux 之SCP
- JDBC中常用的的类和接口
- SQL优化
- 找水王02
- WEB开发中的AJAX请求
- javascript学习笔记
- 百万级查询性能优化
- 生活随笔:游戏新政和个人开发者
- javascript中的数据类型的问题
- 死磕Spring AOP系列1:编程式实现AOP
- 数据结构上机测试1:顺序表的应用