Automatic Judge HDU - 6023 - 模拟

Automatic Judge HDU - 6023

2019年某日,正睿OI训练营迎来了一场六一节acm专场。
在五个小时的比赛时间里,你可以提交代码到比赛页面,然后评测机会给你返回一个结果。
评测机一共可能会返回下面几种结果:

  1. Accepted (AC) : 你通过了此题。
  2. Presentation Error (PE) : 你的代码有一些格式上的问题。
  3. Wrong Answer (WA) : 你的答案与标准程序输出不符。
  4. Runtime Error (RE) : 你的程序运行时出现错误。
  5. Time Limit Exceeded (TLE) : 你的程序运行超时。
  6. Memory Limit Exceeded (MLE) : 你的程序空间炸了。
  7. Output Limit Exceeded (OLE) : 你的程序输出的文件太大了。
  8. Compilation Error (CE) : 你的程序编译错误。

对于每份提交,如果这是这道题第一次AC,那么这就意味着你通过了这道题,当前的时间就是你通过这道题的时间,这个时间会被累加进你队伍的罚时。同时,在你通过了一道题之前,每一次不成功的提交都会为你的这道题带来20分钟的罚时(如果你没有通过这道题就不会计算进队伍的罚时)。
现在告诉你这场比赛的题数和颜良的提交记录。你需要写一个程序来计算颜良通过了多少道题以及罚时共多少。

Input

输入格式的包含一个整数 T ,表示数据组数.
对于每组数据,第一行有两个整数 n 和 m,表示这场比赛的题数和颜良共提交了多少次. 题目被编号为 1001, 1002, ..., 1000+n.
接下来的 m行, 每行包含一个整数x和两个字符串 t(00:00~ 05:00) 和 s, 表示他们的队伍在t时间提交了 x题 ,并且最终返回的结果是 s. t 以 HH:MM的格式给出,s的可能有{AC, PE, WA, RE, TLE, MLE, OLE}. 保证按照时间顺序给出提交记录,并且他不会在同一分钟提交两次。

Output

对于每组数据,输出一行两个数字 A 和 B, 表示他通过的题数和他最终的罚时(以分钟为单位)。

Sample Input

1
3 5
1002 00:02 AC
1003 00:05 WA
1003 00:06 WA
1003 00:07 AC
1002 04:59 AC

Sample Output

2 49

分析

题意很简单,直接模拟,但是需要注意,多组数据,并且AC过之后将不再对该题计时。

可以选择记录该题是否AC,没有就罚时,直到 AC。
最后统计AC的题目总罚时。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10,INF=0x3f3f3f3f;
struct T{
    int time, flag;
}p[N]; // p[i] 第 i 题

int main(){
    // freopen("data.in", "r", stdin);
    int t,n,m; scanf("%d", &t);
    int x,a,b; char c[5];
    while(t--){
        memset(p, 0, sizeof(p)); //注意多组数据
        scanf("%d%d", &n,&m);
        for(int i=1; i<=m; i++){
            scanf("%d %d:%d %s",&x,&a,&b,&c);
            if(p[x].flag==0){
                if(strcmp("AC", c)!=0) p[x].time += 20;
                else p[x].flag=1, p[x].time += a*60+b;;
            }
        }
        a=b=0;
        for(int i=0; i<N; i++){
            if(p[i].flag==1) a++, b+=p[i].time;
        }
        printf("%d %d\n", a,b);
    }
    return 0;
}
posted @   HelloHeBin  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示