河南工业大学2017“玲珑杯”程序设计竞赛 01
2017-04-23 20:21
246 查看
1260: ***的比赛
时间限制: 1 秒 内存限制: 64 MB提交: 256 解决: 73提交 状态题目描述
饶妹组织了一场ACM赛制的比赛,大家纷纷慕名来参加。比赛中大家交题只会有两种结果:AC,WA。比赛结束了,饶妹制作榜单啦。首先按AC题目的数目(重复AC一道题只算一次)从多到少排名;AC题目数目相同的同学按罚时(罚时计算方式为:单题罚时 = (首次AC该题目时间 + 首次AC之前WA的次数 * 20) min,总罚时 = 各题罚时之和;即某题目AC之后,对这道题目后续的提交均不计入罚时)从少到多排列;AC数目相同且罚时也相同的同学,按编号从小往大排序。输入
第一行为n,m,k(1≤n≤1000,1≤m≤10000,1≤k≤10),分别表示参加比赛的人数、提交总次数和总题数。之后一行为n个用空格分隔的字符串,表示n位参赛选手的姓名(每个字符串长度均不超过20,且仅含小写字母);之后m行,每行均为 Timei IDi PIDi Resulti,(1≤Timei≤Timei+1≤300,1≤IDi≤n,1≤PIDi≤k,Resulti="AC"/"WA"),表示编号为IDi的选手在Timei时刻提交了编号为PIDi的题目,且结果为Resulti.输出
输出n行,按排名从高到低排列。每行分别输出该选手的姓名,过题数,总罚时,中间均为一个空格间隔。样例输入
5 11 10
phx lsf zk rqy ch1
1 1 AC
1 1 2 AC
2 1 3 AC
2 1 4 AC
3 2 2 WA
4 2 2 AC
5 3 2 AC
10 5 1 WA
20 5 2 WA
30 5 3 WA
40 5 4 WA
样例输出
phx 4 6
zk 1 5
lsf 1 24
rqy 0 0
ch 0 0
题目描述中主人公被改名字了——也是才知道名字后两个字是高度敏感词,不知道的后果就是被封了
在比赛时刚思考思路不是很清晰,结构体里题号pi 每题罚时 sw 都是对于一个人的一道题来说 而总罚时st AC题数sp 是对应一个人所有题
还有就是ac题数 罚时相等时按照输入顺序来输出
附上代码
#include<stdio.h>#include<stdlib.h>#include<string.h>struct In{int pi[15],sw[15],st,sp,xu;//题号 每题罚时 总罚时 AC题数 序号char na[20];//序号对应的名字}a[1005];int cmp(const void*aa,const void*bb){struct In*c=(In*)aa;struct In*d=(In*)bb;if(c->sp!=d->sp)return d->sp - c->sp;else if(c->st!=d->st) return c->st - d->st;else return c->xu - d->xu;//题数罚时相等时按照序号}int main(){int n,m,k,d,len;while(~scanf("%d%d%d",&n,&m,&k)){int t,p;char s[1005][20],s1[5];memset(a,0,sizeof(a));for(int i=0;i<n;i++){scanf("%s",a[i].na);a[i].xu=i;}for(int i=0;i<m;i++){scanf("%d%d%d%*c%s",&t,&d,&p,s1);if(!a[d-1].pi[p-1]){if(s1[0]=='A'){a[d-1].sp++;a[d-1].st+=t+(a[d-1].sw[p-1])*20;a[d-1].pi[p-1]=1;}else(a[d-1].sw[p-1])++;}}qsort(a,n,sizeof(a[0]),cmp);for(int i=0;i<n;i++)printf("%s %d %d\n",a[i].na,a[i].sp,a[i].st);}return 0;}
相关文章推荐
- 河南工业大学2017“玲珑杯”程序设计竞赛 07
- 河南工业大学2017“玲珑杯”程序设计竞赛 08
- 河南工业大学2017“玲珑杯”程序设计竞赛 09
- 河南工业大学2017“玲珑杯”程序设计竞赛 10
- 河南工业大学2017“玲珑杯”程序设计竞赛 03
- 河南工业大学2017“玲珑杯”程序设计竞赛 04
- 2017广东工业大学程序设计竞赛决赛 E-倒水(Water) (二进制的应用) + H-tmk买礼物(dp思想)
- 2017广东工业大学程序设计竞赛决赛 Problem E: 倒水(Water) (详解)
- 2016CCPC东北地区大学生程序设计竞赛【01/03/05/06/08】
- 杭电校第十七届程序设计竞赛暨2017省赛集训队选拔赛
- 校赛总结——程序设计竞赛@HIT 2017秋季校赛
- 2017广东工业大学程序设计竞赛决赛 Problem E: 倒水(Water)(思维)
- 2017广东工业大学程序设计竞赛决赛 Problem H: tmk买礼物(数论)
- 2017广东工业大学程序设计竞赛 E倒水(Water)
- 挑战程序设计竞赛 01背包变换对象
- 2017广东工业大学程序设计竞赛决赛 Problem B: 占点游戏(博弈)
- 2017广东工业大学程序设计竞赛决赛 Problem E: 倒水(Water)(思维)
- 2017广东工业大学程序设计竞赛决赛 Problem H: tmk买礼物(数论)
- 2017广东工业大学程序设计竞赛决赛(官方题解)
- 2017上海金马五校程序设计竞赛部分题解