PAT 1036 水题
比上题海水。。
代码:
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
struct student{
string name;
string gender;
string id;
int grade;
bool operator < (const student & s)const{
return this->grade < s.grade;
}
};
vector<student> male,female;
int N;
int main(){
cin>>N;
for(int i = 0;i < N;i++){
student s;
cin>>s.name>>s.gender>>s.id>>s.grade;
if(s.gender == "M"){
male.push_back(s);
}else{
female.push_back(s);
}
}
sort(male.begin(), male.end());
sort(female.begin(), female.end());
student m,fm;
bool flg = false;
if(!female.empty()){
fm = female[female.size()-1];
cout<<fm.name<<" "<<fm.id<<endl;
}else{
cout<<"Absent"<<endl;
flg = true;
}
if(!male.empty()){
m = male[0];
cout<<m.name<<" "<<m.id<<endl;
}else{
cout<<"Absent"<<endl;
flg = true;
}
if(!flg){
cout<<fm.grade-m.grade<<endl;
}else{
cout<<"NA"<<endl;
}
}
41ms