首页 > 其他分享 >Automatic Judge HDU - 6023

Automatic Judge HDU - 6023

时间:2022-09-22 13:33:51浏览次数:54  
标签:HDU WA 00 int AC 这道题 提交 Judge 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;
}

标签:HDU,WA,00,int,AC,这道题,提交,Judge,6023
From: https://www.cnblogs.com/hellohebin/p/16718900.html

相关文章

  • HDU3085 Nightmare Ⅱ
    DescriptionlinkSolution这是个双向广搜板子题。首先鬼的分裂实际上就是每一次走两步,由于没有障碍所以直接曼哈顿距离即可。男孩每一次可以走3步,所以直接bfs连走......
  • C - Friend-Graph HDU - 6152 三元环 & 拉姆齐定理
    原题链接题意:判断图和补图是否含有三元环拉姆齐定理拉姆齐定理:在>=6个点的完全图中,用红蓝两色染色,一定存在一个红色或者蓝色的三角形。所有n>=6的话直接输出badte......
  • A Secret HDU - 6153 扩展KMP || KMP
    题目链接:https://vjudge.net/problem/HDU-6153题意求一个串T的所有后缀在串S中出现的次数,最后再求和。扩展KMP解法可以利用拓展KMP求出S的每一个后缀和T的最长公共前......
  • HDU5593 ZYB's Tree
    求\(n\)个点的树上对于每个点距离小于\(k\)的点的数量(边权均为\(1\))。\(n\leq5\times10^5,k\leq10\)。设\(f[u][i]\)表示距离\(u\)点\(i\)距离以内并且......
  • 2022 HDU多校10
    WinnerPrediction(网络流)Problem\(n\)个人进行比赛,赢最多的人获胜,保证一定可以分出胜负,现在已知\(m_1\)场对决结果,还有\(m_2\)场对决结果未知,但知道比赛的两个人是谁,问......
  • 2022 HDU多校9
    ArithmeticSubsequence(二进制、思维、分治)Problem给定一个长度为\(n\)的序列,问是否可以对它重新排序使得重排后的序列中不存在等差子序列Solve如果一个数出现了\(3......
  • 2022 HDU多校8
    Theramore(思维)Problem给定一个01串,可以进行无限次操作,每次操作可以把一个长度为奇数的区间翻转,问可以得到的字典序最小的01串是多少Solvehit1:反转后奇数位置还是在......
  • HDU3487 Play With Chain
    题目链接  题目大意就是要我们对一个区间执行区间翻转和整体移动区间的操作。  思路:将一个区间分裂出来再移动到另一个节点的后面,可以用\(fhq-treap\)来将这一个子树......
  • OpenJudge 1.5.24 正常血压
    24:正常血压总时间限制:1000ms内存限制:65536kB描述监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某......
  • 2022 HDU多校5
    PandaemoniumAsphodelos:TheFirstCircle(Savage)(数据结构)Problem有一行长度为\(n\)个格子,一开始每个格子的颜色都是\(0\),并且权值都也是\(0\),现在有\(q\)次操作,每......