问题 F: 罚时计算器

时间限制: 1 Sec  内存限制: 128 MB
提交: 229  解决: 63
[提交][状态][讨论版]

题目描述

一般 ACM程序设计比赛都是五个小时。但是比赛结束时,DB(DataBase)发现总罚时很大,DB就想知道这总罚时算得对不对。但由于DB数学不是很好,想让你写个程序帮他计算总罚时。

罚时规则:

每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。也就是,通过的题目的罚时等于第一次通过时颗与比赛开始时刻的时间差加上第一次通过之前该题的错误次数乘以20分钟,总罚时等于所有通过的题目的罚时相加。比如:比赛12:00:00开始,DB在12:06:00提交A题错误WA,12:17:00提交A题通过AC,12:40:00提交B题错误WA,12:43:00提交B题错误TLE。一场比赛下来,DB就做了一个题,总罚时为(12:17:00-12:00:00+20*1)=00:37:00,B题没有通过,不算罚时。

输入

第一行输入DB需要你帮助计算的总罚时的比赛次数T(0<T<100)。对于每次需要计算的比赛,先输入比赛开始时间(格式HH:MM:SS),接下来输入总提交次数n(0<n<100),接下来n行输入每次提交信息题号id,提交时间time,评判结果result,其中id为字符A~K,time格式为HH:MM:SS,评判结果包括{AC,WA,TLE,RE,CE,PE}中的一种,只有AC是正确的,每项用空格隔开。所有时间按递增顺序输入。

注意:所有时间是24小时制,HH:MM:SS代表时:分:秒,不足两位的,前面补0。所有提交时间与比赛开始时间在同一天。评判结果只有AC代表通过。某些题目DB通过之后,可能会再次提交,但是不计罚时。

详见样例。

输出

对于每次比赛,输出一行,表示DB的总罚时(HH:MM:SS),不足两位,前面补0。保证总罚时的小时数不超过2位数。

样例输入

2
12:00:00
4
A 12:06:00 WA
A 12:17:00 AC
B 12:40:00 WA
B 12:43:00 TLE
12:00:00
2
A 12:50:00 AC
B 13:00:00 AC

样例输出

00:37:00
01:50:00 判断罚时和第一次AC时用的时间就可以了
#include <cstdio>
struct demo
{
int mm;
int hh;
int ss;
char name;
char ans[];
}ti[];
int main()
{
int n,t,h,m,s,f,timea,timeb,timei,i,j,flag;
char d,q[];
scanf("%d",&t);
while(t--)
{
for(scanf("%d:%d:%d %d",&h,&m,&s,&n),i=;i<n;i++)
{
getchar();
scanf("%c%*c%d%*c%d%*c%d",&ti[i].name,&ti[i].hh,&ti[i].mm,&ti[i].ss);
scanf("%s",ti[i].ans);
}
int timeb=h*+m*+s;
for(i=,timei=,timea=,flag=;i<n;i++)
{
if(ti[i].ans[]=='A')
{
d=ti[i].name;
for(j=;j<i;j++)
{
if(ti[j].name==d&&ti[j].ans[]=='A')
flag=;
}
if(flag)
{
flag=;
continue;
}
for(f=,j=;j<i;j++)
{
if(ti[j].name==d)
f++;
}
timei+=(f*);
timea+=(ti[i].hh*+ti[i].mm*+ti[i].ss-timeb);
}
}
timei*=;
timei+=timea;
printf("%02d:%02d:%02d\n",timei/,timei%/,timei%);
}
return ;
}

最新文章

  1. html canvas 骰子1
  2. php中的抽象类(abstract class)和接口(interface)
  3. SVN cleanup操作反复失败解决办法
  4. 误删除了mssql的表。 使用命令:drop table xxxx
  5. VS2008安装SP1补丁后智能提示从中文变为英文的解决办法
  6. hdu 4856 Tunnels (bfs + 状压dp)
  7. Nancy 框架学习
  8. C++11 学习 间隔更新中
  9. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
  10. zabbix历史数据相关表研究
  11. KiCad EDA 原理图库的最佳实践
  12. Mac Mysql 修改初始化密码
  13. 17.1-uC/OS-III消息管理(两种消息队列)
  14. 【FZSZ2017暑假提高组Day1】最大矩形
  15. day21-python操作mysql1
  16. 从零开始学习html(十四)单位和值
  17. Chapter 1 -- UsingAndAvoidingNull
  18. The Difference Between Big Data and a Lot of Data
  19. 常微分方程初值问题:单步方法 [MATLAB]
  20. (转)分布式中使用Redis实现Session共享(一)

热门文章

  1. P1903 数颜色
  2. 前端JavaScript之DOM使用案例
  3. 搭建基于Express框架运行环境
  4. Apache 负载均衡 端口转发 配置
  5. npm run build根据不同参数打包不同环境url
  6. 采坑笔记——mysql的order by和limit排序问题
  7. 【CodeBase】PHP打印所有用户自定义常量
  8. kickstart+pxe+tftp+ntp(http)自动化安装平台的搭建
  9. 使用cookie登陆知乎
  10. 【Effective c++ 读书笔记】条款01 视 C++ 为一个语言联邦