代码:
#include<bits/stdc++.h>
using namespace std;
struct mode{
string s;
int y,m,d,c;
};
bool cmp(mode a,mode b){
if(a.y>b.y){
return 1;
}else if(a.y==b.y){
if(a.m>b.m){
return 1;
}else if(a.m==b.m){
if(a.d>b.d){
return 1;
}else if(a.d==b.d){
if(a.c>b.c){
return 1;
}else{
return 0;
}
}else{
return 0;
}
}else{
return 0;
}
}else{
return 0;
}
}
int main(void){
int n;
cin>>n;
mode esd[n];
for(int i=0;i<n;i++){
cin>>esd[i].s>>esd[i].y>>esd[i].m>>esd[i].d;
esd[i].c=i;
}
sort(esd,esd+n,cmp);
for(int i=n-1;i>=0;i--){
cout<<esd[i].s<<endl;
}
}
测试点下下来对的,但是却WA哩qwq
求一下改