爱上CF

爱上CF

Time Limit: 1000MS Memory limit: 65536K

题目描述

CF,codeforces不是Crossfire。身为一个Acmer,RE大神与Soaring大神最喜欢做每五天一次的CF,从11:30到1:30,然后和逗比学长们一起等着跑数据等到两点半,然后再一起嘲笑一坨学长和柴爷,实在是人生一大快事。
但是Triple_S队的另一员——Winddreams,竟然还不会算CF的单局积分。实在是略萌啊。身为队长的RE大神只能把CF的详细规则再给Winddreams讲一遍了。
CF中共A,B,C,D,E五道题,其初始分分别为500,1000,1500,2000,2500。
比赛共两个小时,每过一分钟每道题目的分数分别下降2,4,8,16,32分。例如你在00:08的时候提交A题,就会获得484分。
比赛中对于不成功的提交(统称为WA)将扣掉该题50分;每道题的分数是单独的,如果没有AC不管这道题WA几次,不会扣总分。而且每道题的最低得分为150分,当分数降低至150分时,不在进行分数削减。
比赛中还有一种叫做HACK的玩法,就是在锁定自己的题目代码后,你可以查看他人的代码,如果别人的代码有漏洞你可以出一组测试数据证明他是错的,如果你成功了(Successful Hack)你讲获得100分,如果你失败了(Unsuccessful Hack)你将被扣50分。同理,你也可以被Hack如果你被Hack成功了(Hack)将视为该题WA。
由于最近RE大神和Soaring要忙一下补觉的问题,所以,需要你来为Winddreams写一个程序来计算得分情况。

输入

多组输入。输入一个T(T<=50)表示有T个操作,在接下来的T行里,每行输入三个个变量(中间用空格隔开),分别是时间t(XX:XX),题目No(A,B,C,D,E)以及题目返回结果E(WA ,AC,Hack,Successful Hack,Unsuccessful Hack)。

输出

最终得分。

示例输入

19
00:03 A AC
00:10 B WA
00:12 B WA
00:13 B AC
00:30 C WA
00:40 B Hack
00:45 B WA
00:45 B WA
00:46 B WA
00:47 B WA
00:48 B WA
00:48 B WA
00:50 B WA
00:54 B WA
00:55 B WA
00:57 B WA
00:59 B AC
01:10 A Successful Hack
01:49 B Unsuccessful Hack

示例输出

694

提示

 

来源

 

示例程序


//  没有技术含量,只是麻烦。注意一下,细心一点就好..............
#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int a,b,sum = 0;
        char str,x[100],c;
        int chu[5],i;
        int pp;
        int a1,b1;
        int t[5];
        chu[0] = 500;
        chu[1] = 1000;
        chu[2] = 1500;
        chu[3] = 2000;
        chu[4] = 2500;
        for(i=0;i<n;i++)
        {
            scanf("%d",&a);
            scanf("%c",&c);
            scanf("%d",&b);
            getchar();
            scanf("%c",&str);
            getchar();
            gets(x);
        if(str == 'A')
        {
            if((strcmp(x,"AC") == 0))
            {
                if(a == 1)
                {
                    pp = 120 + b*2;
                }
                else if(a == 0)
                {
                    pp = b*2;
                }
                if(chu[0]-pp>=150)
                {
                    chu[0] = chu[0] - pp;
                }
                else
                {
                    chu[0] = 150;
                }
                sum = sum + chu[0];
                t[0] = chu[0];
            }
            else if((strcmp(x,"WA")==0) ||(strcmp(x,"Hack")==0))
            {
                 if(strcmp(x,"Hack")==0)
                {
                    sum = sum - t[0];
                }
                if(chu[0]-50>=150)
                {
                    chu[0] = chu[0] - 50;
                }
                else
                {
                    chu[0] = 150;
                }
            }
            else if(strcmp(x,"Successful Hack")==0)
            {
                sum = sum + 100;
            }
            else if(strcmp(x,"Unsuccessful Hack")==0)
            {
                sum = sum -50;
            }
         }
         if(str == 'B')
        {
            if(strcmp(x,"AC") == 0)
            {
                if(a == 1)
                {
                    pp = 240 + b*4;
                }
                else if(a == 0)
                {
                    pp = b*4;
                }
                if(chu[1]-pp>=150)
                {
                    chu[1] = chu[1] - pp;
                }
                else
                {
                    chu[1] = 150;
                }
                sum = sum + chu[1];
                t[1] = chu[1];
            }
            else if((strcmp(x,"WA")==0) ||(strcmp(x,"Hack")==0))
            {
                 if(strcmp(x,"Hack")==0)
                {
                    sum = sum - t[1];
                }
                if(chu[1]-50>=150)
                {
                    chu[1] = chu[1] - 50;
                }
                else
                {
                    chu[1] = 150;
                }
            }
            else if(strcmp(x,"Successful Hack")==0)
            {
                sum = sum + 100;
            }
           else if(strcmp(x,"Unsuccessful Hack")==0)
            {
                sum = sum -50;
            }
         }
         if(str == 'C')
        {
            if(strcmp(x,"AC") == 0)
            {
                if(a == 1)
                {
                    pp = 480 + b*8;
                }
                else if(a == 0)
                {
                    pp = b*8;
                }
                if(chu[2]-pp>=150)
                {
                    chu[2] = chu[2] - pp;
                }
                else
                {
                    chu[2] = 150;
                }
                sum = sum + chu[2];
                t[2] = chu[2];
            }
            else if((strcmp(x,"WA")==0) ||(strcmp(x,"Hack")==0))
            {
                 if(strcmp(x,"Hack")==0)
                {
                    sum = sum - t[2];
                }
                if(chu[2]-50>=150)
                {
                    chu[2] = chu[2] - 50;
                }
                else
                {
                    chu[2] = 150;
                }
            }
            else if(strcmp(x,"Successful Hack")==0)
            {
                sum = sum + 100;
            }
            else if(strcmp(x,"Unsuccessful Hack")==0)
            {
                sum = sum -50;
            }
         }
         if(str == 'D')
        {
            if(strcmp(x,"AC") == 0 && t[3] == 0)
            {
                if(a == 1)
                {
                    pp = 960 + b*16;
                }
                else if(a == 0)
                {
                    pp = b*16;
                }
                if(chu[3]-pp>=150)
                {
                    chu[3] = chu[3] - pp;
                }
                else
                {
                    chu[3] = 150;
                }
                sum = sum + chu[3];
                t[3] = chu[3];
            }
            else if((strcmp(x,"WA")==0) ||(strcmp(x,"Hack")==0))
            {
                if(strcmp(x,"Hack")==0)
                {
                    sum = sum - t[3];
                }
                if(chu[3]-50>=150)
                {
                    chu[3] = chu[3] - 50;
                }
                else
                {
                    chu[3] = 150;
                }
            }
            else if(strcmp(x,"Successful Hack")==0)
            {
                sum = sum + 100;
            }
            else if(strcmp(x,"Unsuccessful Hack")==0)
            {
                sum = sum -50;
            }
         }
         if(str == 'E')
        {
            if(strcmp(x,"AC") == 0)
            {
                if(a == 1)
                {
                    pp = 1920 + b*32;
                }
                else if(a == 0)
                {
                    pp = b*32;
                }
                if(chu[4]-pp>=150)
                {
                    chu[4] = chu[4] - pp;
                }
                else
                {
                    chu[4] = 150;
                }
                sum = sum + chu[4];
                t[4] = chu[4];
            }
            else if((strcmp(x,"WA")==0) ||(strcmp(x,"Hack")==0))
            {
                 if(strcmp(x,"Hack")==0)
                {
                    sum = sum - t[4];
                }
                if(chu[4]-50>=150)
                {
                    chu[4] = chu[4] - 50;
                }
                else
                {
                    chu[4] = 150;
                }
            }
            else if(strcmp(x,"Successful Hack")==0)
            {
                sum = sum + 100;
            }
            else if(strcmp(x,"Unsuccessful Hack")==0)
            {
                sum = sum -50;
            }
         }
        }
        printf("%d\n",sum);
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶孤心丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值