问题 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 ;
}

hnust 罚时计算器的更多相关文章

  1. 1005acm罚时

    ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力.团队精神和在压力下编写程序.分析和解决问题能力的年度竞赛.参赛队伍最多由三名参赛队员组成,竞赛中一般命题10-13题, ...

  2. hdu 4882 比赛罚时贪心

    http://acm.hdu.edu.cn/showproblem.php?pid=4882 就是CF的比赛,根据时间的推迟会相应的扣掉题目的分数,每个任务有e,k,e表示完成需要时间,k表示完成后消 ...

  3. Codeforces Round #384 (Div. 2) //复习状压... 罚时爆炸 BOOM _DONE

    不想欠题了..... 多打打CF才知道自己智商不足啊... A. Vladik and flights 给你一个01串  相同之间随便飞 没有费用 不同的飞需要费用为  abs i-j 真是题意杀啊, ...

  4. 结对实验报告-android计算器设计

     一:引言  目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了.手机上的软件也随着 ...

  5. 信利SC123金融财务计算器评测——不错的HP 12C仿品

    最近X宝48包邮购入信利SC123金融计算器,只是为了玩一玩(没错你的好友盗版狂魔又上线了),因为这是目前市面上能买到的最便宜的金融计算器了,也是能买到的最便宜的RPN计算器,顺手出个评测.这个计算器 ...

  6. android计算器

    一:引言    目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了.手机上的软件也随 ...

  7. SCNU ACM 2016新生赛初赛 解题报告

    新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...

  8. 2014 39th ACM-ICPC 北京赛区 总结

    万万没想到,拿金了. 在经历了西安赛区的打铁经历,感觉我们已经很坦然了.怎么说呢,虽说有阴影,但那也是成长的一步.我在西安打铁之后跟队友跟姐姐说过“如果北京是铜或者铁,我就退役”.记得曾经,很多人问我 ...

  9. HDU-SupportOrNot训练实录

    菜鸡队训练实录. 现场赛记录: 2016:[名称:奖项/排名] ZJPSC:Gold/1 CCPC中南邀请赛:Gold/1 ICPC Dalian:Gold/24 ICPC Beijing:Gold/ ...

随机推荐

  1. 20145238-荆玉茗 《Java程序设计》第四次实验报告

    20145238<Java程序设计>第四次实验报告 实验四 Android环境搭建 实验内容 1.搭建Android环境 2.运行Android 3.修改代码,能输出学号 实验步骤 搭建A ...

  2. Extjs4.2 tabPosition left 相关

    解决tabPosition:left 标签的方向问题   <%@ page language="java" import="java.util.*" pa ...

  3. 优化tableView性能(针对滑动时出现卡的现象)

    优化tableView性能(针对滑动时出现卡的现象) 在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信. Safari ...

  4. PowerDesigner生成sql脚本

    1.打开PowerDesigner->New Project; 2.填写项目名称,选择文件的存放路径: 3.新建一个模型,New Model: 4.选择概念模型,填写模型名称: 5.选择enti ...

  5. BZOJ1050: [HAOI2006]旅行comf(并查集 最小生成树)

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4021  Solved: 2257[Submit][Status][Discuss] Descript ...

  6. MappingException:class com.zsn.crm.Model.user not found whie looking for property user id

    之前好好地运行 什么东西都没动过 再次运行突然报异常*****MappingException:class com.zsn.crm.Model.user not found whie looking ...

  7. python 获取项目的根路径

    root_path = os.path.abspath(os.path.dirname(__file__)).split('shippingSchedule')[0] shippingSchedule ...

  8. Ubuntu16.04下配置ssh免密登录

    Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...

  9. ABAP CDS - SELECT, WHERE

    格式 ... WHERE cond_expr ... 结果 定义CDS视图结果集的Where条件.访问CDS视图时,结果集仅包含来自数据源数据源的数据,该数据源数据源满足在where之后指定的条件co ...

  10. MySQL 5.7远程连接

    将/etc/mysql/my.cnf中的bind_address那一行注释掉或修改为"bind_address=0.0.0.0": bind_address并没有在/etc/mys ...