AcWing 3604. 最小年龄的3个职工
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
struct Person{
int id;
string name;
int age;
};
bool compare(Person p1, Person p2){
if(p1.age != p2.age){
return p1.age < p2.age;
}else if(p1.id != p2.id){
return p1.id < p2.id;
}else return p1.name < p2.name;
}
int main(){
int n;
cin>>n;
vector<Person> Persons;
int cnt=min(n,3);
while(n--){
Person p;
cin>>p.id>>p.name>>p.age;
Persons.push_back(p);
}
sort(Persons.begin(), Persons.end(), compare);
for(int i=0;i<cnt;i++){
cout<<Persons[i].id<<' '<<Persons[i].name<<' '<<Persons[i].age<<endl;
}
return 0;
}