#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef struct Student {
char id[15];
int score;
int location_number;
int local_rank;
}Student;
bool cmp(Student a, Student b) {
if(a.score != b.score) return a.score > b.score;
else return strcmp(a.id, b.id) < 0;
}
int main(int argc, char *argv[]) {
Student stu[30010];
int n, k, num = 0;
scanf("%d", &n);
for(int i=1; i<=n; i++) {
scanf("%d", &k);
for(int j=0; j<k; j++) {
scanf("%s %d", stu[num].id, &stu[num].score);
stu[num].location_number = i;
num++;
}
sort(stu+num-k, stu+num, cmp);
stu[num-k].local_rank = 1;
for(int j=num-k+1; j<num; j++) {
if(stu[j].score == stu[j-1].score) {
stu[j].local_rank = stu[j-1].local_rank;
} else {
stu[j].local_rank = j+1-(num-k);
}
}
}
printf("%d\n", num);
sort(stu, stu+num, cmp);
int r = 1;
for(int i=0; i<num; i++) {
if(i>0 && stu[i].score != stu[i-1].score) r = i+1;
printf("%s ", stu[i].id);
printf("%d %d %d\n", r, stu[i].location_number, stu[i].local_rank);
}
}
1025 PAT Ranking (25 分)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Programming Ability Test (PAT) is organized by the Colleg...
- 1025反转链表(25 分) 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为 1→...