```cpp
#include <iostream>
#include <algorithm>
using namespace std;
struct info{//先整个info类型,代表学生信息
string s;//名字
int y;//出生年 除了名字全改成int
int m;//出生月 不然就是字典序了
int d;//出生日
int freq;//输入顺序(frequency)
};
info n[100];//info类型的数组
bool cmp(info a,info b){
if(a.y==b.y){
if(a.m==b.m){
if(a.d==b.d){
return a.freq > b.freq;
}
return a.d < b.d;
}
return a.m < b.m;
}
return a.y < b.y;
}
//#####cmp真的好难QWQ
//#####但在我的不懈努~~(fu)~~力~~(zhi)~~下还是解决啦
int main(){
int per = 0;
cin>>per; //非定量读取
for(int i = 0;i<per;i++){
n[i].freq = i+1;
cin>>n[i].s>>n[i].y>>n[i].m>>n[i].d;
}
sort(n,n+per,cmp);
for(int i = 0;i<per;i++){
cout<<n[i].s<<endl;
}
return 0;
} //养成好习惯,看完先点赞
```
这是蒟蒻我的第一篇题解,请各位大佬多多指(点)点(赞) (((((((撠䝚㤗䓺)))))))
by U_stinian @ 2023-06-10 21:26:00