@[ZZYX_18670145320](/user/1192648)
哪需要这么麻烦,直接万能的STL不就行了吗?
```cpp
#include<bits/stdc++.h>
using namespace std;
struct node{
string name;
int y,m,d;
int i_x;
}a[111];
bool cmp(node a,node b){
if (a.y==b.y){
if (a.m==b.m){
if (a.d==b.d){
return a.i_x>b.i_x;
}else{
return a.d<b.d;
}
}else{
return a.m<b.m;
}
}else{
return a.y<b.y;
}
}
int main(){
int n;
cin>>n;
for (int i=0;i<n;++i){
cin>>a[i].name>>a[i].y>>a[i].m>>a[i].d;
a[i].i_x=i;
}
sort(a,a+n,cmp);
for (int i=0;i<n;++i){
cout<<a[i].name<<endl;
}
}
```
by ikun_god @ 2024-02-06 13:06:01
@[ikun_god](/user/996255) 谢谢
by ZZYX_18670145320 @ 2024-02-06 18:20:58