#include <bits/stdc++.h>
using namespace std;
unordered_map<string,int>mp;
struct peo{
string name;
int score[5];
}s[2007];
//存储个人信息
int fen[5][2007];//查询对应课程分数
char num[5]={'A','C','M','E'};
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>s[i].name;
mp[s[i].name]=i;
int ans=0;
for(int j=1;j<=3;j++){
cin>>s[i].score[j];
ans+=s[i].score[j];
}
s[i].score[0]=ans/3;
for(int j=0;j<=3;j++)fen[j][i]=s[i].score[j];//放入对应的fen
}
for(int i=0;i<=3;i++)
{
sort(fen[i]+1,fen[i]+n+1,cmp);//因为可能会有重叠分的缘故,所以为了排名排序
}
while(m--)
{
string k;
cin>>k;
if(!mp[k])
{
cout<<"N/A";
}
else {
int mc=9999;
char ans;
for(int i=0;i<=3;i++)
{
for(int j=1;j<=n;j++)
{
if(fen[i][j]==s[mp[k]].score[i])
{
if(mc>j){
mc=j;
ans=num[i];
}
break;
}
}
if(mc==1)break;
}
cout<<mc<<" "<<ans;
}
cout<<endl;
}
}
PAT1012 The Best Rank(排序+暴力)
最新推荐文章于 2024-09-27 11:26:03 发布