#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<string>
#include<cstring>
#include<cmath>
#include<map>
#define ll long long
using namespace std;
map<string,int>reg,rr;
vector<pair<int,string> >v1,v2;
const bool cmp(const pair<int,string> p1,const pair<int,string> p2)
{
if(p1.first!=p2.first)return p1.first>p2.first;
else return p1.second<p2.second;
}
int main()
{
int n,m,i,j,sum,x,rank;
string y;
while(scanf("%d",&n)!=EOF)
{
sum = 0;
for(i = 0;i<n;i++)
{
scanf("%d",&m);
sum+=m;
for(j = 0;j<m;j++)
{
cin>>y>>x;
reg[y] = i+1;
v1.push_back(make_pair(x,y));
v2.push_back(make_pair(x,y));
}
sort(v1.begin(),v1.end(),cmp);
rank = 1;
for(j = 0;j<m;j++)
{
if(j!=0&&v1[j].first<v1[j-1].first)rank = j+1;
rr[v1[j].second] = rank;
}
v1.clear();
}
sort(v2.begin(),v2.end(),cmp);
cout<<sum<<endl;
rank = 1;
for(i = 0;i<v2.size();i++)
{
if(i!=0&&v2[i].first<v2[i-1].first)rank = i+1;
cout<<v2[i].second<<" "<<rank<<" "<<reg[v2[i].second]<<" "<<rr[v2[i].second]<<endl;
}
}
return 0;
}
pat1025 PAT Ranking
最新推荐文章于 2024-01-13 16:20:35 发布