hnust 罚时计算器
问题 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 罚时计算器的更多相关文章
- 1005acm罚时
ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力.团队精神和在压力下编写程序.分析和解决问题能力的年度竞赛.参赛队伍最多由三名参赛队员组成,竞赛中一般命题10-13题, ...
- hdu 4882 比赛罚时贪心
http://acm.hdu.edu.cn/showproblem.php?pid=4882 就是CF的比赛,根据时间的推迟会相应的扣掉题目的分数,每个任务有e,k,e表示完成需要时间,k表示完成后消 ...
- Codeforces Round #384 (Div. 2) //复习状压... 罚时爆炸 BOOM _DONE
不想欠题了..... 多打打CF才知道自己智商不足啊... A. Vladik and flights 给你一个01串 相同之间随便飞 没有费用 不同的飞需要费用为 abs i-j 真是题意杀啊, ...
- 结对实验报告-android计算器设计
一:引言 目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了.手机上的软件也随着 ...
- 信利SC123金融财务计算器评测——不错的HP 12C仿品
最近X宝48包邮购入信利SC123金融计算器,只是为了玩一玩(没错你的好友盗版狂魔又上线了),因为这是目前市面上能买到的最便宜的金融计算器了,也是能买到的最便宜的RPN计算器,顺手出个评测.这个计算器 ...
- android计算器
一:引言 目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了.手机上的软件也随 ...
- SCNU ACM 2016新生赛初赛 解题报告
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...
- 2014 39th ACM-ICPC 北京赛区 总结
万万没想到,拿金了. 在经历了西安赛区的打铁经历,感觉我们已经很坦然了.怎么说呢,虽说有阴影,但那也是成长的一步.我在西安打铁之后跟队友跟姐姐说过“如果北京是铜或者铁,我就退役”.记得曾经,很多人问我 ...
- HDU-SupportOrNot训练实录
菜鸡队训练实录. 现场赛记录: 2016:[名称:奖项/排名] ZJPSC:Gold/1 CCPC中南邀请赛:Gold/1 ICPC Dalian:Gold/24 ICPC Beijing:Gold/ ...
随机推荐
- quartz的持久化任务调度使用应用的dataSource
Quartz提供两种基本作业存储类型--->第一种类型叫做RAMJobStore: 最佳的性能,因为内存中数据访问最快 不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所 ...
- data-ng-init 指令
1.data-ng-init指令为AngularJS应用程序定义了一个初始值. 2.通常情况下,data-ng-init指令并不常用,将会使用控制器或模块来代替它.
- 前端css样式及选择器
标题: 1.scc概述 2.行内样式 3.内接样式 4.外接样式(链接式) 推荐使用 5.外接样式(导入式) 6.嵌套规则 7.css选择器 1.scc(Cascading Style Shee ...
- 武者Vue
1 - Introduction 2 - The Vue Instance 3 - Data & Methods 4 - Data Binding 5 - Events 6 - Event M ...
- DB总结1
DBA 重构 data new york committee cobol codasyl journal DDL DML 关系演算 域关系演算语言(QBE) 元祖关系演算语言 ...
- 1816: [Cqoi2010]扑克牌
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2737 Solved: 1082[Submit][Status][Discuss] Descripti ...
- Python——字典
字典是一种key-value 的 数据类型,使用就想我们上学用的字典.可以通过笔画,字母来查对应页的详细内容. 特性:1. 字典是无须的.(如果光打印字典里的字符串,那么排序不会按照顺序排,因为字典是 ...
- java 基础面试
1. &和&&的区别 答: &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 2.int 和 Integer 有什么区别 答: Ja ...
- PHP使用redis(一)
1,connect 描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL 成功返回:TRUE;失败返回:FALSE <?php $redis = ...
- PHP递归操作
对于php的递归操作解释说明,递归基本上是学习每种语言都要会的最基本的操作.来吧,下面是我闲的时候随便写的一个对数组进行遍历操作的一个递归函数. 原理很简单,递归就是在一个函数里面调用自身的一种机制. ...