问题 : What are you doing?

“Hey my friends!What are you doing?”

    小伙伴们都在期待了N多年的大学中度过一段时间了,不知道大家都在忙什么呢?有咩有找到自己奋斗的目标?

    据说有个叫LOL的帮派横空出世了,影响了无数大学的宅同胞。这里面有两个好斗的角色,一个叫PanSen(简称PS),一个叫JanSheng(简称JS)。这两个家伙以好斗闻名、外人称为“双雄”。不过他俩谁都不服对方,只要一见面、就必然会很“亲热”地招呼对方。(当然、用他们自己的话说是在传递爱与友谊。不过路人怎么总会觉得有点残忍类。。)

    就在刚刚,这俩家伙又见面了。

    “秃,那厮,洒家终于练就了无上神功。每个第 x 次攻击可释放一次大招,让这一次的攻击造成 c 倍伤害给你。你就认命吧!”PS道。

    “呦~,我当是谁呢,在下不才、也刚练成了一点点小本事。每攻击 y 次后可以触发一个神状态,从下一次攻击开始、连续 z 次的攻击都可以造成双倍伤害,z次攻击过去之后、再重新开始为下一次神状态充电。让我好好‘招待你吧’!”JS回道。

 

    “公猪母猪加油、大猪小猪加油~”路人甲喊着。

    “闭嘴!”,“住口!”双雄扭头、同时发话。

    “有奸情,果然、感情是打出来的,古人诚不欺我。。”,路人乙小声嘀咕。

    双雄满脑黑线、殴斗继续。。。。

    

    好了,这个战斗发生在刚刚,那么告诉你一些信息,你可以判断出最后谁胜出了么?

    已知:

    1、PS每次攻击可以让JS掉 a 点血,JS每次攻击可以让PS掉 b 点血;

    2、PS有血量HP_p,JS有血量HP_j,血量不大于0既代表失败,战斗结束;

    3、按照不成文规定,俩家伙是轮流砍对方,JS先发动攻击。

输入

输入有T组。

每组按顺序读入多个整数:

HP_p、HP_j(0<HP_p、HP_j<=1000),表示PanSen和JanSheng的生命值;

a、b、c、x、y、z(0<a、b、c、x、y、z<=1000),意义如上。

输入保证合法。

输出

对于每组,输出获胜人的名字的简称、单独占一行。

样例输入

210 10 1 1 2 9 9 210 10 1 1 2 9 7 2

样例输出

PSJS 
# include<stdio.h>
 
int main(void)
{
    int n;
    scanf("%d", &n);
    while (n --)
    {
        int HP_p, HP_j, a, b, c, x, y, z;
        scanf("%d %d %d %d %d %d %d %d", &HP_p, &HP_j, &a, &b, &c, &x, &y, &z);
        int m = 1, n = 1;
        while(1)
        {
            if (n == y+z+1)
            {
                n = 1;
            }
            if (n <= y)
              HP_p -= b;
            if (n > y)
            {
                HP_p -= 2*b;
            }   
            n ++;
            if (HP_p <= 0)
            {
                printf("JS\n");
                break;
            }
            if (m < x)
                HP_j -= a;
            if (m >= x)
            {
                HP_j -= c*a;
                m -= x;
            }
            m++;
            if (HP_j <= 0)
            {
                printf("PS\n");
                break;
            }
        }
    }
    return 0;
}


猜你喜欢

转载自blog.csdn.net/liu344439833/article/details/80232372