结构体排序水题
#include<bits/stdc++.h>
#define ll long long
const int mod=1e9+7;
using namespace std;
struct node{
string name;
string gender;
string id;
int score;
}m[1005],f[1005];
bool comp(node a,node b)
{
return a.score>b.score;
}
bool compm(node a,node b)
{
return a.score<b.score;
}
int main()
{
int n,d;
string a,b,c;
cin>>n;
getchar();
int ff=0,mm=0;
for(int i=1;i<=n;i++)
{
cin>>a>>b>>c>>d;
if(b=="M")
{
m[mm].name=a;
m[mm].gender=b;
m[mm].id=c;
m[mm].score=d;
mm++;
}
else
{
f[ff].name=a;
f[ff].gender=b;
f[ff].id=c;
f[ff].score=d;
ff++;
}
}
sort(m,m+mm,compm);
sort(f,f+ff,comp);
if(ff==0)
cout<<"Absent"<<endl;
else
cout<<f[0].name<<" "<<f[0].id<<endl;
if(mm==0)
cout<<"Absent"<<endl;
else
cout<<m[0].name<<" "<<m[0].id<<endl;
if(mm==0||ff==0)
cout<<"NA"<<endl;
else
cout<<f[0].score-m[0].score<<endl;
}