样例:

#include<algorithm>
#include<stdio.h>
#include<string.h>
using namespace std;

struct sub{                      声明结构体         //
int ci,pi,ti,ri;                               //队号,题数,罚时,ac
}s[1100];

struct team{                                        //    声明结构体
int id;                                                 //队号
int num;                                         //   题数
int tal_time;                                //罚时
int times[30];                                          //提交次数
int ac[30];                                    //是否ac
}t[1100];

bool cmp1(sub a,sub b){                         //    按照罚时升序排列
return a.ti<b.ti;
}

bool cmp2(team a,team b){                    //如果数量不相等按照题数降序排列 
if(a.num!=b.num)
return a.num>b.num;
if(a.tal_time!=b.tal_time)                   //如果罚时不相等,按照罚时升序排列。
return a.tal_time<b.tal_time;                   
return a.id<b.id;                                            //按照队伍id排序升序
}

int main()                      //主函数

{
int c,n;
int i,j;
while(scanf("%d%d",&c,&n)!=EOF){
for(i=1;i<=c;++i){                                         //将id  num等初始化为零
t[i].id=i;
t[i].tal_time=0;
t[i].num=0;
memset(t[i].times,0,sizeof(t[i].times));                memset函数用来将数组初始化为零
memset(t[i].ac,0,sizeof(t[i].ac));
}
for(i=0;i<n;++i){!
scanf("%d%d%d%d",&s[i].ci,&s[i].pi,&s[i].ti,&s[i].ri);                     //输入变量
}
sort(s,s+n,cmp1);                                                                                    //按照cmp1调用快排
for(i=0;i<n;++i){
if(!(t[s[i].ci].ac[s[i].pi])){                                                                       如果t[s[i].ci].ac[s[i].pi]!=1
if(!s[i].ri){                                                                                      如果s[i].ri!=1;
t[s[i].ci].times[s[i].pi]++;                                                     提交次数+1;
}else{
t[s[i].ci].tal_time+=s[i].ti+t[s[i].ci].times[s[i].pi]*20*60;             计算罚时的总时间
t[s[i].ci].ac[s[i].pi]=1;                                                                   通过ac
t[s[i].ci].num++;                    做出来的题数+1;
}
}
}

sort(t+1,t+c+1,cmp2);            调用cmp2快排

for(i=1;i<=c;++i){                                  
if(i!=1)
printf(" ");
printf("%d",t[i].id);                  输出结果。
}
printf("\n");
}
return 0;
}

总结“:

关于一些问题的处理.计算罚时数。如果一道题ac了过后,再提交一个错误的代码不计罚时.如果队伍存在排名相等的,则按照队伍号的升序排列.需注意的就是罚时的计算.

ACM比赛排名与罚时计算问题相关推荐

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

    //目前还存在许多bug 题目描述 一般 ACM程序设计比赛都是五个小时.但是比赛结束时,DB(DataBase)发现总罚时很大,DB就想知道这总罚时算得对不对.但由于DB数学不是很好,想让你写个程序 ...

  2. 【总结】ACM比赛生涯总结

    程序设计竞赛相关奖项总结 时间 比赛 奖励 大一下学期 2017.5 西安交通大学ACM校赛 铜奖 大二下学期 2018.5 ICPC全国邀请赛-西安站 铜奖 2018.6 ICPC全国邀请赛-宁夏站 ...

  3. ACM 比赛 训练记录(持续更新)

    队伍 : 西安电子科技大学 voyage 成员 后户冯神flukehn 核弹少女zzs 可爱小⑨bzy 2019 CCPC Final(VP on 9.17) 第一次与队友进行 ACM 赛制的训练,结 ...

  4. 【转】ACM比赛经验

    参考网址:http://www.cnblogs.com/zhaoguanqin/archive/2011/08/24/2151758.html [转]ACM比赛经验 ACM比赛经验: 推荐此篇文章打印 ...

  5. #问题求解与编程# 实验二 D 比赛排名预测

    比赛排名预测 发布时间: 2018年3月27日 09:17   最后更新: 2018年3月29日 20:13   时间限制: 1000ms   内存限制: 128M 描述 听说ACM爱好者协会即将举办 ...

  6. 福利来了!国内TOP3的超级云计算,免费领2000核时计算资源!

    长久以来,超级计算机一直是各国竞相角逐的科技制高点,也是国家综合科技实力的体现,尤其是近几年,中国和美国在超算领域的竞争已经进入"白热化".2020年,我国超级计算机在<全球 ...

  7. 第一次参加学校的ACM比赛所学及感想

    第一次写博客!还很不熟练嘻嘻,不过很开心自己有想写下来的东西,以后会一直坚持写的? 高考报志愿的时候不知道自己抽了什么疯,选择了计算机专业,有一部分原因是因为之前看了微微一笑很倾城?觉得女生搞IT很帅 ...

  8. 科研福利!国内TOP3的超算中心,免费领2000核时计算资源

    长久以来,超级计算机一直是各国竞相角逐的科技制高点,也是国家综合科技实力的体现,尤其是近几年,中国和美国在超算领域的竞争已经进入"白热化".2020年,我国超级计算机在<全球 ...

  9. “玲珑杯”ACM比赛 Round #21-C-战舰萝莉(线段树区间更新)

    "玲珑杯"ACM比赛 Round #21 Start Time:2017-09-23 17:00:00 End Time:2017-09-23 19:30:00 Refresh T ...

最新文章

  1. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二
  2. 无意中发现了一位清华大佬的代码模版
  3. Kafka工作原理简要概述
  4. HDU 5536 Chip Factory 字典树+贪心
  5. 将Sublime Text3添加到右键菜单中
  6. tomcat(10)安全性
  7. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
  8. 前端学习(496):noscript元素
  9. ORACLE JDBC 对千万数据 批量删除和批量插入
  10. app测试的过程和重点关注内容
  11. 基于multisim14的函数信号发生器仿真
  12. html5 css3时间特效,炫酷纯CSS3响应式垂直时间轴特效
  13. 【JavaWeb】实现网页验证码
  14. if-else练习:交换值
  15. cv2 给图片加框框
  16. HackPwn:TCL智能洗衣机破解细节分析
  17. Tableau弧线图
  18. 这个弹丸小国,靠移民收割不少国人
  19. python进行数据预处理(最大最小值规范化、零均值规范化、剔除奇异值、去噪、曲线拟合)
  20. Word2019 如何快速统一图片大小,将其他图片设置为参照图片大小

热门文章

  1. Eclipse 3.4(ganymede木卫三)昨天正式发布
  2. 固体火箭推进剂理论(二)
  3. mysql 列分区_mysql8 参考手册-列表列分区
  4. 一张数据可视化大屏看懂2022卡塔尔世界杯
  5. 卫星定位技术(概述)
  6. 使用OpenGL开发一个指南针 (http://www.hiapk.com/thread-513153-1-1.html)
  7. “STO 链改出海抱团取暖”,TokenSky香港站12月17日召开
  8. python爬取和平精英皮肤_20行Python代码爬取王者荣耀全英雄皮肤
  9. 电力电子技术笔记-三相半波可控整流电路
  10. 用户走进计算机世界,走进计算机世界说课稿.doc