【物理问题】URAL - 1939 First Seal
2017-06-17 10:04
183 查看
Problem Description
输入l, h, H, v, x, a分别对应,车长度,车高度,门高度,车的速度,门下落速度,车减速的时候减速度。一位船长抢了个马车想跑出门外,他想知道他是不是安全,门随时可能会下落。可能会碰到输出”Crash”,一定可以不碰到输出”Safe”
思路:没理解,后面问了学长,才理解的。觉得挺不错的一道题。当门下落的时候,在(H - h) / x 时间内,不减速走到的地方,记录车尾的位置。或者减速到0,走到的地方,记录车头的位置。如果车尾的位置大于车头的位置,就肯定安全。 因为这两种情况,车没有重叠的地方,所以门如果压第一种情况的任何位置,都可以选择减速。门如果压第二种情况的任何位置,都可以选择不减速。这样就一定安全。
输入l, h, H, v, x, a分别对应,车长度,车高度,门高度,车的速度,门下落速度,车减速的时候减速度。一位船长抢了个马车想跑出门外,他想知道他是不是安全,门随时可能会下落。可能会碰到输出”Crash”,一定可以不碰到输出”Safe”
思路:没理解,后面问了学长,才理解的。觉得挺不错的一道题。当门下落的时候,在(H - h) / x 时间内,不减速走到的地方,记录车尾的位置。或者减速到0,走到的地方,记录车头的位置。如果车尾的位置大于车头的位置,就肯定安全。 因为这两种情况,车没有重叠的地方,所以门如果压第一种情况的任何位置,都可以选择减速。门如果压第二种情况的任何位置,都可以选择不减速。这样就一定安全。
#include<cstdio> using namespace std; int main() { int l, h, H, v, x, a; while(~scanf("%d %d %d %d %d %d", &l, &h, &H, &v, &x, &a)) { //不减速走的,车尾相对位置 v * (H- h) / x - l //减速走的, 车头相对位置 v * v / (2 * a) if(x * v * v < 2 * a * (v * (H - h) - x * l)) //车尾的相对位置大于车头的相对位置,就可以避免被压到,注意精度,所以这样把除法换成乘法 printf("Safe\n"); else printf("Crash\n"); } return 0; }
相关文章推荐
- 个人排位赛--a 物理题,水题 URAL - 1939
- URAL - 1939 First Seal
- URAL 1902 Neo-Venice(简单物理相遇问题)
- URAL 1939 First Seal
- 物理Data Guard 下Failover 时Redo 的处理问题
- 物理方法解决数学问题(三):神奇的Fermat原理
- WINCE物理和虚拟地址的问题
- 物理方法解决数学问题(五):一个与椭圆有关的性质
- 物理方法解决数学问题(二):Archimedes与球体积公式
- 网闸——物理隔离网闸常见技术问题解答
- VMware物理内存不足的问题
- WINCE物理和虚拟地址的问题
- 电子产品接触不良问题物理解释
- WINCE 物理和虚拟地址的问题
- 物理Data Guard 下Failover 时Redo 的处理问题
- 物理dataguard日志无法应用问题
- 校园网上网问题(ubuntu 9.10)-- 物理地址 ip 以及DNS的修改
- 物理方法解决数学问题(一):从一个简单的平面几何题谈起
- WINCE物理和虚拟地址的问题
- sql server 2005逻辑名和物理名称的问题。