#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct people{
char id[8];
int c, cr;
int m, mr;
int e, er;
int a, ar;
}peo[2010];
bool cmpa(people k, people b){
return k.a>b.a; //else return strcmp(a.id,b.id)<0;
}
bool cmpc(people k, people b){
return k.c>b.c;
}
bool cmpm(people k, people b){
return k.m>b.m;
}
bool cmpe(people k, people b){
return k.e>b.e;
}
int min(int a,int b,int c,int d){
if(a<=b&&a<=c&&a<=d)return 1;
if(b<=a&&b<=c&&b<=d)return 2;
if(c<=b&&c<=a&&c<=d)return 3;
if(d<=b&&d<=c&&d<=a)return 4;
}
char check[2010][8];
int main(){
int i, j, n, x, m, rank;
scanf("%d%d",&n,&m); //输入n,m
for(i=0;i<n;i++){
scanf("%s%d%d%d",peo[i].id,&peo[i].c,&peo[i].m,&peo[i].e); //输入具体数据
peo[i].a=peo[i].c+peo[i].m+peo[i].e;
}
for(i=0;i<m;i++)scanf("%s",check[i]);
sort(peo,peo+n,cmpa);//开始排序a
peo[0].ar=1; rank=2;
for(i=1;i<n;i++){
if(peo[i].a==peo[i-1].a)peo[i].ar=peo[i-1].ar;
else peo[i].ar=rank;
rank++;
}
sort(peo,peo+n,cmpc);//开始排序c
peo[0].cr=1; rank=2;
for(i=1;i<n;i++){
if(peo[i].c==peo[i-1].c)peo[i].cr=peo[i-1].cr;
else peo[i].cr=rank;
rank++;
}
sort(peo,peo+n,cmpm);//开始排序m
peo[0].mr=1; rank=2;
for(i=1;i<n;i++){
if(peo[i].m==peo[i-1].m)peo[i].mr=peo[i-1].mr;
else peo[i].mr=rank;
rank++;
}
sort(peo,peo+n,cmpe);//开始排序e
peo[0].er=1; rank=2;
for(i=1;i<n;i++){
if(peo[i].e==peo[i-1].e)peo[i].er=peo[i-1].er;
else peo[i].er=rank;
rank++;
}
for(i=0;i<m;i++){//输出
j=0;
while(strcmp(peo[j].id,check[i])!=0&&j<n)j++;
if(j==n)printf("N/A\n");
else {x=min(peo[j].ar,peo[j].cr,peo[j].mr,peo[j].er);
if(x==1)printf("%d A\n",peo[j].ar);
if(x==2)printf("%d C\n",peo[j].cr);
if(x==3)printf("%d M\n",peo[j].mr);
if(x==4)printf("%d E\n",peo[j].er);
}
}
return 0;
}
PAT-A1012
最新推荐文章于 2021-11-23 22:33:34 发布