题目链接: 生日 - 洛谷
总代码:
#include <bits/stdc++.h>
using namespace std;
struct stu{
int id;
string name;
int year;
int month;
int day;
};
bool cmp(stu a, stu b){
if(a.year != b.year){
return a.year < b.year;
}else{
if(a.month != b.month){
return a.month < b.month;
}else{
if(a.day != b.day){
return a.day < b.day;
}else{
return a.id > b.id;
}
}
}
}
int main(){
int n;
cin >> n;
stu s[n];
for(int i = 0; i < n; i++){
string name;
int y, m, d;
cin >> name >> y >> m >> d;
s[i] = {i, name, y, m, d};
}
sort(s, s+n, cmp);
for(int i = 0; i < n; i++){
cout << s[i].name << endl;
}
return 0;
}