ACM:真三国无双

来源:互联网 发布:程序员面试宝典 pdf 编辑:程序博客网 时间:2024/04/27 14:25

ACM:真三国无双

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

31 1 11 2 12 1 2

Sample Output

0.10IMPOSSIBLE0.10
题目较简单,主要注意限制条件。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
    int n;
    int a,b,d;
    cin>>n;
    while(n--)
    {
       cin>>a>>b>>d;
       if(b>d||a+b-d>=3600)
           cout<<"IMPOSSIBLE"<<endl;
       else if(b==d)
       {
           printf("%.2lf\n",(double)a/10);
       }
       else
       {
           if(a>d-b)
                printf("%.2lf\n",(double)(a-(d-b))/10);
           else
               printf("0.00\n");
       }
    }
    return 0;
}
0 0