您的位置:首页 > 编程语言 > C语言/C++

1036. Boys vs Girls (25)

2016-02-24 16:36 465 查看
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

struct Student{
string name;
string id;
int grade;

Student(string name, string id, int grade): name(name), id(id), grade(grade){}

bool operator < (const Student& rhs) const{
return grade < rhs.grade;
}
};

vector<Student> males;
vector<Student> females;

int main(){
int n;
scanf("%d", &n);

for(int i = 0; i < n; ++i){
string name, id;
char gender;
int grade;

cin >> name >> gender >> id >> grade;
if(gender == 'M'){
males.emplace_back(name, id, grade);
}else{
females.emplace_back(name, id, grade);
}
}

sort(begin(males), end(males));
sort(females.rbegin(), females.rend());

bool missing = false;
if(females.empty()){
missing = true;
printf("Absent\n");
}else{
printf("%s %s\n", females[0].name.c_str(), females[0].id.c_str());
}

if(males.empty()){
missing = true;
printf("Absent\n");
}else{
printf("%s %s\n", males[0].name.c_str(), males[0].id.c_str());
}

if(missing) printf("NA");
else printf("%d", females[0].grade - males[0].grade);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ PAT Boys vs Girls