解法一:模拟
#include <bits/stdc++.h>using namespace std;class Student {public: string name; char gender; string id; int grade;};vector<Student> students;int main() { ios::sync_with_stdio(false); cin.tie(0); int N; cin >> N; int maleIndex = -1; int femaleIndex = -1; for (int i = 0; i < N; ++i) { Student student; cin >> student.name >> student.gender >> student.id >> student.grade; students.emplace_back(student); if (student.gender == 'M' && (maleIndex == -1 || student.grade < students[maleIndex].grade)) { maleIndex = i; } if (student.gender == 'F' && (femaleIndex == -1 || student.grade > students[femaleIndex].grade)) { femaleIndex = i; } } Student male, female; if (femaleIndex != -1) { female = students[femaleIndex]; cout << female.name << " " << female.id << '\n'; } else { cout << "Absent\n"; } if (maleIndex != -1) { male = students[maleIndex]; cout << male.name << " " << male.id << '\n'; } else { cout << "Absent\n"; } if (maleIndex != -1 && femaleIndex != -1) { cout << female.grade - male.grade << '\n'; } else { cout << "NA\n"; }}