PAT甲级 1025 PAT Ranking
题目大意
给所有地区的考生排名。题目首先给出N,表示有N个地区,之后每个地区给出K,及K个考生的考号,分数,最后要求你不仅要输出每个考生的总排名,还要输出每个考生的地区排名
解体思路
首先建立一个结构体,存储考生的考号,分数,地区序号及地区排名,然后建立一个充分大(>=30000)的结构体数组,然后依次每输入一个地区的考生信息,就对该地区的考试进行排序,同时计算其地区排名。输入完毕后,对该结构体数组进行总排序,最终计算总排名并输出。
参考代码:
#include <bits/stdc++.h>
using namespace std;
struct st
{
int lnumber;
string id;
int score;
int frank;
int lrank;
};
bool cmpid(st a,st b)
{
return a.id < b.id;
}
bool cmpscore(st a,st b)
{
return a.score > b.score;
}
int main()
{
int m,n;
vector<st> a,b;
cin>>m;
int Q = m;
while(m--)
{
a.clear();
cin>>n;
for(int i = 0;i < n;i++)
{
st tp;