#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int t,n,cnt;
struct students{
long long p,rk1,rk2,sc;
string num;
}s[40005];
bool cmp1(const students &a,const students &b)
{
if(a.p==b.p)
return a.sc>b.sc;
return a.p<b.p;
}
bool cmp2(const students &a,const students &b)
{
return a.sc>b.sc;
}
bool cmp3(const students &a,const students &b)
{
if(a.rk2==b.rk2)
return a.num<b.num;
return a.rk2<b.rk2;
}
int main()
{
cin>>t;
int k=0,ans=0;
while(t--)
{
k++;
cin>>n;
for(int i=1;i<=n;i++)
{
cnt++;
cin>>s[cnt].num>>s[cnt].sc;
s[cnt].p=k;
}
}
k=0;
sort(s+1,s+1+cnt,cmp1);
for(int i=1;i<=cnt;i++)
{
if(s[i].p!=s[i-1].p)
{
ans=k=1;
s[i].rk1=k;
}
else{
if(s[i].sc<s[i-1].sc)
k=ans;
s[i].rk1=k;
}
ans++;
}
k=1;
sort(s+1,s+1+cnt,cmp2);
for(int i=1;i<=cnt;i++)
{
if(s[i].sc!=s[i-1].sc)
k=i;
s[i].rk2=k;
// cout<<s[i].rk2<<' '<<s[i].sc<<endl;
}
sort(s+1,s+1+cnt,cmp3);
cout<<cnt<<endl;
for(int i=1;i<=cnt;i++)
cout<<s[i].num<<' '<<s[i].rk2<<' '<<s[i].p<<' '<<s[i].rk1<<endl;
return 0;
}
7-17 PAT排名汇总
最新推荐文章于 2024-06-04 11:42:50 发布