Problem L: Fire or Retreat

本文介绍了一个简单的程序设计问题——如何判断迫击炮是否能够射击到特定距离的外星装甲。通过计算炮弹的最大射程与目标距离的关系,程序可以快速决定是射击还是撤退。

Problem L: Fire or Retreat

Description

在与科技水平远胜于我们的外星人的战斗最后,我们能够用来对外星装甲造成伤害的武器只剩下了……呃,一些迫击炮?

为了最大程度的节省弹药,下面一些事情,是你,一个新兵需要知道的:

1 每架迫击炮的发射动能都是一个固定值。这意味着同一架迫击炮发射出来的炮弹初始速率相同;

2 每架外星装甲都配备有隐形装置,隐形装置会有周期性的充能,也就是说一旦侦测到外星装甲,要么开火要么撤退;

3 每架迫击炮都可以以一定的角度射击.

现在你的任务就是对于每架侦测到的装甲,快速决定是射击还是撤退。一旦能够射击到外星装甲的话,当然是要开火的。 (重力加速度g=10m/s^2;,忽略其他外在因素)

Input

第一行输入一个整数T,代表接下来有多少个样例。 接下来有T行输入,每行有两个整数v、d(v <= 1000000m/s, d <= 1000000m),代表这架迫击炮的炮弹速率v和侦测到的外形装甲离你的水平距离d。

Output

对于每个样例,输出一行结果并换行。如果迫击炮发射的炮弹能够击中外星装甲,则输出“Fire”;否则,输出“Retreat”。

Sample Input

2100 100017 300

Sample Output

FireRetreat

小结:

        大水题!完全没有亮点,虽然我第一次没看清楚题目,整形类型设置成int,WA了一次....不过还真是心虚呢,一直刷这种水题,会不会有报应....

以下是AC代码:

#include<stdio.h>
#include<math.h>
#include<ctype.h>
#define g 10
using namespace std;
typedef long long ll;
int main()
{
    int t;
    ll num1,num2;
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        scanf("%lld%lld",&num1,&num2);
        double max_length=num1*num1/g;
        if(max_length>=num2)
        printf("Fire\n");
        else
        printf("Retreat\n");
    }
    return 0;
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值