题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6023
题意:acm比赛规则,输入时进行判断就行,注意时间转换。
水题一道,但我写的时候没有考虑周全(尴尬。。。),注意读懂括号里的内容,题就能写出了
#include<bits/stdc++.h>
using namespace std;
struct node
{
int x;
string t;
string s;
}p[2000];
string u;
int vis[2000];//分钟
int pre[2000];//编号
int main()
{
int T,n,m;
scanf("%d",&T);
while(T--)
{
int sum=0,k=0;
scanf("%d%d",&n,&m);
memset(vis,0,sizeof(vis));
memset(pre,0,sizeof(pre));
for(int i=1;i<=m;i++)
{
cin>>p[i].x>>p[i].t>>p[i].s;
u=p[i].t;
vis[i]=(u[4]-'0')+(u[3]-'0')*10+(u[1]-'0')*60;
if(p[i].s=="AC"&&pre[p[i].x]==0)
{
sum+=vis[i];
k++;
pre[p[i].x]=1;
for(int j=1;j<i;j++)
if(p[j].s!="AC"&&p[j].x==p[i].x)
sum+=20;
}
}
printf("%d %d\n",k,sum);
}
return 0;
}