ACM竞赛罚时计算

ACM竞赛罚时计算

acm罚时

最新推荐文章于 2024-03-10 11:41:12 发布

朝阳宋哈娜

最新推荐文章于 2024-03-10 11:41:12 发布

阅读量2.2w

收藏

20

点赞数

5

CC 4.0 BY-SA版权

文章标签:

acm作业

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/lfanchenyu/article/details/51165502

本文介绍了一种ACM竞赛中罚时(Penalty)的计算方法,并提供了一个C++程序示例,用于根据参赛者的提交记录计算最终的罚时。

作为一个ACMer,总是习惯于在比赛中或比赛结束后查看自己的排名(Standing),有细心的同学发现Penalty(罚时),在相同做题数下Penalty越小越好(真是个令人振奋的发现)。让我们看看Penatly的计算方法:每道试题用时将从竞赛开始到试题解答被判定为正确(AC)为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。例如:A、B两队都正确完成两道题目,其中A队提交这两题的时间分别是比赛开始后1:00和2:45,B队为1:20和2:00,但B队有一题提交了2次。这样A队的Penalty为1:00+2:45=3:45而B队为1:20+2:00+0:20=3:40,所以B队因Penalty少而获胜。当然如果你AC了某道题后,之后这一题所有提交的代码都不算罚时和时间(有时我也这么无聊~)。恰逢北化周一晚的周赛,在九楼机房18:00-22:00,考验随之而来——现在需要你计算大家的Penalty,Penalty初始为00:00,相信作为北化的ACMer相信你一定可以的!

输入

输入包含多组数据,每组数据的第一行包含一个正整数N(1=

输出

输出这位ACMer的Penalty,每个测试数据占一行

样例输入

3

18:05 A RE

19:11 A AC

20:00 B WA

1

20:27 F AC

样例输出

01:31

02:2#include

#include

#include

using namespace std;

int main(){

char time[20][5],num[20],zhuangtai[20][3];

int n,m,hour1,visited,min1,i,n1,k,p,hour[20],min[20],visit[20],compare,compare1,compare2;

while(scanf("%d",&n)!=EOF){//输入时间数据个数

i=0;

visited=0;//判断该题出现AC时前面有没出现过

hour1=0;//最终小时

min1=0;//最终分钟

n1=n;//准备输入时间个数

k=0;//计算有效AC个数

while(n--){

scanf("%s %c %s",time[i],&num[i],zhuangtai[i]);

// printf("%s %c %s",time[i],num[i],zhuangtai[i]);

hour[i]=time[i][0]-48;

//printf("%d\n",hour[i]);

//cout<

hour[i]=10*hour[i]+(time[i][1]-48);

hour[i]-=18;

min[i]=time[i][3]-48;

min[i]=10*min[i]+(time[i][4]-48);

/// printf("%d %d\n",hour[i],min[i]);

compare=zhuangtai[i][0];

if(compare==65){//标记出AC所在的下标记录到一个数组中

//printf("%d\n",compare);

compare2=num[i];

// printf("%d\n",compare2);

for( m=0;m

compare1=num[visit[m]];

if(compare1==compare2)

visited++;

}

if(visited==0){

visit[k]=i;

k++;}

visited=0;

// printf("%d\n",visit[k]);

}

//printf("%d %d\n",hour[i],min[i]);

i++;

}//while

for(m=0;m

for(p=0;p

if(num[p]==num[visit[m]] && p!=visit[m]){

min[visit[m]]+=20;

}

if(min[visit[m]] > 59){

hour[visit[m]]+=min[visit[m]]/60;

min[visit[m]]=min[visit[m]]%60;

}

} //for

}//forda

for(m=0;m

hour1+=hour[visit[m]];

min1+=min[visit[m]];

/* if(hour[visit[m]]<10)

printf("0");

printf("%d:",hour[visit[m]]);

if(min[visit[m]]<10)

printf("0");

printf("%d",min[visit[m]]);

printf("\n");*/

}

if(min1>59){

hour1+=min1/60;

min1=min1%60;

}

if(hour1<10)

printf("0");

printf("%d:",hour1);

if(min1<10)

printf("0");

printf("%d",min1);

printf("\n");

}//while总

return 0;

}

确定要放弃本次机会?

福利倒计时

:

:

立减 ¥

普通VIP年卡可用

立即使用

朝阳宋哈娜

关注

关注

5

点赞

20

收藏

觉得还不错?

一键收藏

知道了

1

评论

分享

复制链接

分享到 QQ

分享到新浪微博

扫一扫

举报

举报

c语言结构体计算罚时与成绩(acm)

geshengtong的博客

11-06

3412

Scoring

Time Limit: 3000ms, Memory Limit: 10000KB , Accepted:

2858, Total Submissions: 3453

Description

Judging a programming contest is hard work, with demanding contestants, tedious decisions,an

ACM比赛排名与罚时计算问题

lishuzhai的专栏

11-09

1万+

样例:

1 条评论

您还未登录,请先

登录

后发表或查看评论

ACM算法竞赛入门——算法竞赛赛制、题目形式、常见评测状态

大四蒟蒻的学习笔记

03-10

1万+

最全的acm算法竞赛赛制介绍、比赛、题目形式、常见测评状态

ACM罚时#C语言

2302_80010222的博客

10-28

1474

ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。另外,ACM比赛有个“罚时”(Penalty)的概念,首先做的题多的队伍排名更高,做出题目数量相同的队伍,由罚时来判断。比如C(题号)题在第30分钟做完,做错了2次,第三次得到了“Accepted”,那么这时的罚时是 30+20*2=70,20是ACM比赛约定俗成的系数,错一次罚20分钟,不过如果这题到比赛结束都没“Accepted”,那么这道题是不罚时的。

ACM——作业总结一(ACM罚时+Cleaning Shifts(区间问题))

weixin_54248223的博客

03-19

1156

呐~这学期选修了ACM课,就把一些有意思的题目记录下来吧!(啊学长说我没继续做寒假集训有点小难过哼唧最近还在看python真的是觉得有点压力……虽然都说python简单,但是我这个小白完全不知道有哪些python语句……这不还是很难吗!!!痛苦……)

题目描述 ACM罚时

作为一个ACMer,总是习惯于在比赛中或比赛结束后查看自己的排名(Standing),有细心的同学发现Penalty(罚时),在相同做题数下Penalty越小越好(真是个令人振奋的发现)。让我们看看Penatly的计算方法:每道试题用时将

hdu 6023 Automatic Judge【ACM规则罚时判定】

qq_34229351的博客

04-27

1074

Automatic JudgeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 3035 Accepted Submission(s): 1127Problem Description Welcome to HDU to take ...

1005acm罚时

weixin_30587927的博客

06-09

1775

ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。参赛队伍最多由三名参赛队员组成,竞赛中一般命题10-13题,试题描述为英文,比赛时间为5个小时,前4个小时可以看到实时排名,最后一小时封榜,无法看到排名。竞赛可以使用C、C++和Java。重点考察选手的算法和程序设计能力,选手可携带任何非电子类资料,包括书籍和...

pythonacm罚时

最新发布

07-02

Python ACM(即Automated Competitive Programming)罚时通常指的是在ACM竞赛中,使用Python作为编程语言参赛时可能会遇到的时间限制。由于Python相对其他编译型语言如C++而言,执行速度较慢,因此在算法竞赛中,...

ACM/ICPC比赛排名软件:排行榜生成与罚时计算

- **罚时计算:** 罚时从比赛开始计算到题目首次被接受的时间,如果是错误提交,每次错误提交会增加20分钟罚时。若题目最终未能解决,则不计入罚时。 3. **排行榜的生成:** 软件需要处理比赛的题目通过情况记录...

acm.rar_/acm

09-14

比赛以解决问题的数量和速度来决定排名,每解决一个问题,队伍的总时间就会加上该问题的罚时,通常是该问题在所有队伍中首次正确解答的时间。 在“acm.pdf”这份文档中,你可以期待找到以下内容: 1. **历年试题**...

ACM 天梯赛

weixin_53971124的博客

04-23

1205

哲哲打游戏

#include

#include

using namespace std;

#define x first

#define y second

map cnt1;

vector cnt[100010];

int re[110];

int main() {

int n, m;

scanf("%d%d", &n,&m);

for (int i =

ACM题目中输入数据的处理(C语言版)

热门推荐

迂者-贺利坚的专栏

05-27

3万+

ACM题目中输入数据的处理(C++版),见:http://blog.csdn.net/sxhelijian/article/details/8978850 ACM竞赛题目的输入数据常要求有多组,并且格式多种多样,这是初次登OJ平台的同学的一个障碍。实际上,这些格式可以归为固定的几种类型,本文介绍各种类型的处理方法,以帮助同学们克服这些障碍。 实际上,这些模式不仅是OJ平台上做题的需要。在平时的

(ac? wrong?罚时规则)

najiuzheyangbaacm的博客

05-11

639

1

3 5

1002 00:02 AC

1003 00:05 WA

1003 00:06 WA

1003 00:07 AC

1002 04:59 AC Sample Output2 49 #include <iostream>#include<stdio.h>#include<string.h>using namespace std;struct p{ ...

C.罚时计算

m0_53372931的博客

12-15

1742

C.罚时计算

#include

int main() {

int n, a, b, c, d = 0;

scanf("%d", &n);

for (int i = 1; i <= n; i++) {

scanf("%d%d%d", &a, &b, &c);

if (a == 0) {

d = d + 0;

} else {

ACM c语言试题

weixin_45761012的博客

10-17

739

#######c语言acm试题

描述

键盘输入两个小数,要求输出这两个小数,并输出他们的和。

输入

键盘输入两个小数

输出

输出有两个,第一行为两个小数本身,以空格隔开,第二行为这两个小数的和,要求保留6位小数。说明:建议采用printf()函数输出。

样例输入

2.5 3.6

样例输出

2.500000 3.600000

6.100000

...

ACM竞赛如何写好对拍,从而减少罚时

apple_52197802的博客

04-28

761

对拍

1.准备工作:

新建一个文件夹,里面新建:

std.cpp(用来存你要提交的代码) 、

baoli.cpp(用来存正确的暴力代码)、

check.txt(用来存检验代码)、

data.cpp(用来生成数据)、

1.txt(用来存证明你即将提交代码错误的数据)、

2.txt(用来存被检验代码运行后的结果)、

3.txt(用来存暴力运行出的正确结果)。

2.检验代码:

g++ mkd.cpp -o mkd -g

g++ std.cpp -o std -g

g++ baoli.cpp -o baoli -g

C语言oj罚时计算,罚时计算器(字符处理,结构,指针数组).c

weixin_39604139的博客

05-19

2367

//目前还存在许多bug题目描述一般 ACM程序设计比赛都是五个小时。但是比赛结束时,DB(DataBase)发现总罚时很大,DB就想知道这总罚时算得对不对。但由于DB数学不是很好,想让你写个程序帮他计算总罚时。罚时规则:每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。也就是,通过的题目的罚时等于第一次通过时颗与比...

1956 计算罚时

无知的我

08-17

3161

描述

在编程啦比赛的记分板上,有一列叫做“罚时”,这个奇怪的数字究竟是怎么算出来的呢?

留意的同学可能知道,记分板的“查看记分详单”页面,有这么一段注释:

注:(X/Y) —— X表示该题提交次数,Y表示首次通过该题的时间,单位为分钟。

对通过的题计算罚时,计算

ACM排行榜说明 | ACM赛制、OI赛制、IOI赛制 介绍

捡起一束光的博客

01-08

9120

排名

1.先看通过的题目数量 单独绿色+表示通过

2.然后看罚时,罚时短的靠前

罚时规则

罚时=黑色数字累加+绿色数字和*20

绿色+后面的数字表示错误提交次数

这个次数*20 加到罚时中

每个题目下面黑色数字表示做出这个题的时间:从比赛开始到你完成这个题的时间(按分钟算)

然后把ac的题的时间数累加到罚时中

得到最终罚时

单独绿色+表示通过

红色- 表示没通过的题和错误提交次数,这个不算在罚时里...

相关尊享内容

干货 | 工程师必收藏的电路图符号大全,人手一份!
365bet中国大陆网址

干货 | 工程师必收藏的电路图符号大全,人手一份!

📅 07-02 👑 119
iphone4s实现插电信卡(图文)
365bet中国大陆网址

iphone4s实现插电信卡(图文)

📅 07-25 👑 940
mp4文件损坏怎么修复?三种修复办法分享!
365bet中国大陆网址

mp4文件损坏怎么修复?三种修复办法分享!

📅 08-18 👑 79
聚美优品的电商模式「聚美和淘宝哪个靠谱」
365bet投注官网

聚美优品的电商模式「聚美和淘宝哪个靠谱」

📅 08-14 👑 873