First Seal

来源:互联网 发布:黑马程序员基础测试题 编辑:程序博客网 时间:2024/05/24 04:07

【题目来源】 多校2014 

【题目含义】题目中说小车的长度为l,高度为h,初始速度为v,如果刹车的话,刹车时的加速度为a。该小车要通过一道门,该门的顶端是可以上下移动的,初始时门顶端距地面高度为H,顶端上下做匀速运动,速度为x。初始时,小车距离门的距离无限远(这句话是忽悠acmer的,根本没用)。如果小车能安全通过该门的话,输出Safe,否则输出Crash。

【题目分析】根据题目意思可以将小车与门的距离y变成刚好能使得小车完全刹住车(小车正好走到门口,此时速度正好减为0)时小车距离门的距离,此时根据2*y=v^2/a求出y,再根据小车的速度v求出小车完全走出门口的时间t,如果门的高度H大于门的顶端在时间t内移动的距离加上小车的高度的话,小车就能顺利通过该门口,即是安全的,否则就是不安全的。

【代码】

#include <iostream>#include <cstdio>int main(){    //freopen("in.txt","r",stdin);   double l,h,H,v,x,a;   while(cin>>l>>h>>H>>v>>x>>a){    double y = v*v/a/2;    double t = (y+l)/v;    if(x*t + h < H)        cout<<"Safe"<<endl;    else        cout<<"Crash"<<endl;   }    return 0;}



0 0
原创粉丝点击