龙龙跳跳跳

本文介绍了一款基于Chrome浏览器的小恐龙游戏,通过简单的数学模型判断小恐龙能否成功躲避障碍物——仙人掌。该文详细解释了如何通过给定参数进行判断的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当电脑没有网络时,打开Chrome浏览器会发现一个恐龙小游戏:

按空格之后就可以开始玩:
这里写图片描述
你的任务是操纵一只呆萌的小恐龙来穿越沙漠。每次你按一下空格,小恐龙就会跳一下,形成一个完美的倒抛物线,并且每次跳跃的纵向距离和横向距离都是一样的。但是在沙漠中会有很多仙人掌,天上还会飞一些翼龙,你需要让你的小恐龙通过跳跃来避开这些仙人掌和翼龙,这就是整个游戏过程。
为了问题的简化,我们假设这是一个二维直角坐标系,恐龙在X轴上从左往右匀速运动。当恐龙从起跳点a处跳跃时,它将会跳出一个完美的倒抛物线,并且落地点与起跳点的距离为x,其跳起后的纵向最大高度为y。仙人掌为一根垂直于X轴的线段,且底部在X轴上,横坐标为b,高度为h,如下图所示。为了简便,本题不考虑恐龙的体型,不考虑仙人掌的宽度,也不考虑天上飞的翼龙。

这里写图片描述

现在给出小恐龙的起跳横坐标a、横向跳跃距离x、纵向跳跃高度y、仙人掌根部横坐标b、仙人掌高度h,问在此次跳跃中龙龙是否能顺利避开仙人掌。假设刚好擦到也算碰到。

Input
每个输入文件一组数据。
每组数据给出五个小数点后最多一位的浮点数a、x、y、b、h(-100 <= a <= 100, 0 < x <= 100, 0 < y < 100, -100 <= b <= 100, 0 < h <= 100),用空格隔开。

Output
如果在此次跳跃中龙龙能顺利避开仙人掌,那么输出YES,否则输出NO。

Sample Input 1
-1 2 2 0 1

Sample Output 1
YES

Sample Input 2
-1 2 2 0 3

Sample Output 2
NO

Author
Shoutmon

Source
18浙大考研机试模拟赛

注意:在小于a或者大于a+x的部分将被认为是YES

#include <iostream>
#include <cstdio>
using namespace std;
bool judge(int aa,int xx,int yy,int bb,int hh)
{
    if(bb<aa||bb>aa+xx||(bb-aa)*(aa+xx-bb)*4*yy>hh*xx*xx) return 1;
    return 0;
}
int main()
{
    double a,x,y,b,h;
    scanf("%lf %lf %lf %lf %lf",&a,&x,&y,&b,&h);
    judge(a*10,x*10,y*10,b*10,h*10)?printf("YES\n"):printf("NO\n");
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值