• CSU1020: 真三国无双


    1020: 真三国无双

            Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 1042     Solved: 278    


    Description

    真三国无双是魔兽的一个游戏,该游戏是以中国三国的历史背景而制作的,该游戏是5 V 5的游戏模式,敌对双方各5个英雄,推掉了对方的大本营就算取得了胜利。

    ZYH和SN都喜欢玩这个游戏,但是他们谁也不服谁,都觉得自己的操作比对方厉害,因此他们两人决定以单挑的方式来一决高下。ZYH选择了他最喜欢的英雄:关羽,SN也选择了他喜欢的英雄:典韦。

    在他们开始正式比赛前,裁判介绍了一下关羽和典韦的技能。典韦有个脚踢地面而造成群晕的技能,简称为T,由于是游戏,它会有个动画效果,因此典韦使用T分为三个阶段:

    点击T -> T的动画 -> T的释放

    点击T的时间可以忽略,T的动画需要a(MS);T的释放时间为b(MS),在这段时间内,如果对方英雄在地面,就会被击晕。

    而关羽使用技能D,过程是这样的:

    点击D -> 选择方向 -> 转身(英雄会逆时针转身到选择的方向)-> 跳到空中-> 落下

    点击D和选择方向的时间可以忽略,转身时间为c(MS),跳到空中停留的时间为d(MS)。英雄当前方向与选择方向之间的逆时针夹角叫做旋转角度。转身时间c = 旋转角度 × 10 (MS)。在游戏中,旋转角度的范围为[0, 360),不可能小于0或者大于等于360。

    因此关羽和典韦单挑的时候,关羽喜欢用自己的技能D躲典韦的技能T,这就必须满足在典韦技能T释放的b(MS)时间内,关羽必须在空中。为了简化问题,我们认为,关羽在起跳或者落地的瞬间,典韦的技能T对他是无效的。

    裁判正式介绍技能后,ZYH(关羽)就和SN(典韦)开始单挑了,他们在打架多次后,ZYH(关羽)和SN(典韦)的血量都处于死亡的边缘,此时SN(典韦)果断使用了自己的技能T,希望可以把ZYH(关羽)杀了,而ZYH(关羽)也在同时使用了技能D。

    现在ZYH(关羽)求救于你,希望你能帮他计算关羽能选择的最小旋转角度,他的命就掌握在你的手上,你可不能随便应付吧。另外注意一点的就是,他们的技能现在只能释放一次。

    Input

    输入的第一行表示测试数据的组数N。下面输入包括N行,每行包括三个整数,分别表示a, b, d (1 ≤ a ≤ 10000, 1 ≤ b ≤ 10000, 1 ≤ d ≤ 10000)。

    Output

    如果ZYH(关羽)可以成功躲掉SN(典韦)的技能T,则输出能成功躲避的最小旋转角度(小数点后保留两位有效数字)。否则输出IMPOSSIBLE;每个输出后都换一行。

    Sample Input

    3
    1 1 1
    1 2 1
    2 1 2
    

    Sample Output

    0.10
    IMPOSSIBLE
    0.10

    题意:在眩晕的时间段内满足在空中,那么首先在眩晕开始的时候就需要在空中,并且眩晕结束之间在空中,否则就是IMPOSSIBLE。
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <stack>
    using namespace std;
    const int maxn=105;
    int T;
    double a,b,d;
    int main()
    {
        scanf("%d",&T);
        while(T--)
        {
            scanf("%lf %lf %lf",&a,&b,&d);
            double x=(a+b-d)*1.0/10;
            double y=a/10;//计算眩晕开始的时间
            if(x>=0&&x<360&&x<=y)
                printf("%.2f
    ",x);
            else if(x<0)
                printf("0.00
    ");
            else
                printf("IMPOSSIBLE
    ");
        }
        return 0;
    }
    
    
    
    /**********************************************************************
        Problem: 1020
        User: therang
        Language: C++
        Result: AC
        Time:0 ms
        Memory:0 kb
    **********************************************************************/
     
  • 相关阅读:
    windows系统上安装Redis,并且设置Redis密码
    utc时间转换成标准时间
    用Main方法调用freemarker生成文件
    socket.io对IE8的支持
    修改上一篇文章的node.js代码,支持默认页及支持中文
    修改上一篇文章的node.js代码,支持调用自定义页面
    用node.js写的代码
    isInstance和isAssignableFrom的用法
    RabbitMQ的安装使用
    使用commons-beanutils迭代获取javabean的属性
  • 原文地址:https://www.cnblogs.com/jkzr/p/10030722.html
Copyright © 2020-2023  润新知