实时评测系统排名(题解)
题意 :输入数据包含多行,第一行是共有的题数n(1≤n≤12)以及单位罚时m(10≤m≤20),之后的每行数据描述一个学生的信息,首先是学生的用户名(不多于10个字符的字串)其次是所有n道题的得分现状,根据这些学生的得分现状,输出一个实时排名。其中,实时排名显然先按AC题数的多少排,多的在前,再按时间分的多少排,少的在前,如果凑巧前两者都相等,则按名字的字典序排,小的在前。每个学生占一行,输出名字(10个字符宽),做出的题数(2个字符宽,右对齐)和时间分(4个字符宽,右对齐)。名字、题数和时间分相互之间有一个空格。数据保证可按要求的输出格式进行输出。 输入格式: 8 20 GuGuDong 96 -3 40(3) 0 0 1 -8 0 hrz 107 67 -3 0 0 82 0 0 TT 120(3) 30 10(1) -3 0 47 21(2) -2 OMRailgun 0 -99 -8 0 -666 -10086 0 -9999996 yjq -2 37(2) 13 -1 0 113(2) 79(1) -1 Zjm 0 0 57(5) 0 0 99(3) -7 0 思路 :对学生进行排名,需要先计算学生们AC的题数和罚时。先建立一个结构体student,包含名字、AC数量、罚时,每次读入一个字符串str,如果str[0]是’-‘或者’0’,则不需要计算AC数和罚时