Mwf136 @ 2024-07-07 10:39:42
#include<algorithm>
#include<string.h>
#include<iostream>
using namespace std;
struct st{
string a;
int b,c,d;
};
bool cmp(st a,st b){
if(a.b!=b.b)return a.b<b.b;
if(a.c!=b.c)return a.c<b.c;
if(a.d!=b.d)return a.d<b.d;
return 1;
}
int main(){
int n;
scanf("%d",&n);
st a[n];
for(int i=0;i<n;i++)
cin>>a[i].a>>a[i].b>>a[i].c>>a[i].d;
sort(a,a+n,cmp);
for(int i=0;i<n;i++)
cout<<a[i].a<<endl;
return 0;
}
by ye_1021 @ 2024-07-08 21:03:39
生日相同如何输出?
by Mwf136 @ 2024-07-08 21:21:43
@y6692789 我在cmp的时候写了个return 1表示a在前输出所以此时a>b.但是 总感觉哪儿怪怪的……