PTA A1036 Boys vs Girls (25分)
简单排序题,也没什么好写的
#include<bits/stdc++.h>
using namespace std;
struct student{
string name;
string gender;
string id;
int grade;
};
bool cmp(student a,student b){
return a.grade<b.grade;
}
int main(){
int n;
cin>>n;
vector<student> sf;
vector<student> sm;
for(int i=0;i<n;i++){
string name;
string gender;
string id;
int grade;
cin>>name>>gender>>id>>grade;
student student;
student.name=name;
student.gender=gender;
student.id=id;
student.grade=grade;
if(gender=="M"){
sm.push_back(student);
}else{
sf.push_back(student);
}
}
if(sf.size()>0){
sort(sf.begin(),sf.end(),cmp);
cout<<sf[sf.size()-1].name<<" "<<sf[sf.size()-1].id<<endl;
}else{
cout<<"Absent"<<endl;
}
if(sm.size()>0){
sort(sm.begin(),sm.end(),cmp);
cout<<sm[0].name<<" "<<sm[0].id<<endl;
}else{
cout<<"Absent"<<endl;
}
if(sm.size()>0&&sf.size()>0){
cout<<sf[sf.size()-1].grade - sm[0].grade<<endl;
}else{
cout<<"NA"<<endl;
}
return 0;
}