#include <cstdio>
#include <string.h>
#include <algorithm>
using namespace std;
struct Student
{
char id[100];
int score;
int r;
int sr;
}S[100];
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 n, num = 0;
scanf_s("%d", &n);
for (int i = 0; i < n; i++)
{
int k;
scanf_s("%d", &k);
num += k;
for (int j = num - k; j < num; j++)
{
scanf_s("%s %d",S[j].id, &S[j].score);
}
sort(S + num - k, S + num, cmp);
S[num - k].r = 1;
for (int j = num - k + 1; j < num; j++)
{
if (S[j].score == S[j - 1].score)
{
S[j].r = S[j - 1].r;
}
else
{
S[j].r = j + 1 - (num - k);
}
}
}
sort(S, S + num, cmp);
S[0].sr = 1;
for (int i = 1; i < num; i++)
{
if (S[i].score == S[i - 1].score)
{
S[i].sr = S[i - 1].sr;
}
else
{
S[i].sr = i + 1;
}
}
for (int i = 0; i < num; i++)
{
printf("%s %d %d %d\n", S[i].id, S[i].score, S[i].r, S[i].sr);
}
return 0;
}
引发的异常: 0xC0000005: 写入位置 0x00D70000 时发生访问冲突,
输入数据后就会这样