代码:
#include<bits/stdc++.h>
using namespace std;
/*#3in
30
Zhaojiang 1991 1 8
Yangchu 1993 2 7
Qiujingya 1990 5 8
Luowen 1990 4 6
Kangyi 1993 8 9
Wangxing 1992 10 20
Liyue 1991 3 14
Qianmu 1993 1 2
Sunxian 1994 5 7
Liyue 1991 10 10
Heling 1990 12 11
Luopeng 1992 1 9
Pengwei 1994 2 3
Mating 1994 1 18
Chenya 1990 4 5
Tantian 1990 9 2
Maliang 1990 1 2
Wangxin 1992 12 30
Pangcheng 1990 7 28
Lingshuai 1991 2 19
Guning 1989 12 30
Hanmei 1994 1 1
Songting 1992 6 12
Guofan 1994 5 5
Yangyu 1991 9 13
Xiebing 1992 10 10
Yangyang 1991 3 20
Shejing 1993 9 30
Yuanhui 1992 3 30
Liufang 1994 3 30
*/
/*
#3out
Guning
Maliang
Luowen
Chenya
Qiujingya
Pangcheng
Tantian
Heling
Zhaojiang
Lingshuai
Liyue
Yangyang
Yangyu
Liyue
Luopeng
Yuanhui
Songting
Xiebing
Wangxing
Wangxin
Qianmu
Yangchu
Kangyi
Shejing
Hanmei
Mating
Pengwei
Liufang
Guofan
Sunxian
*/
struct node{
string s;
int y, m, d;
}a[10001];
bool cmp(node q, node b){
if(q.y < b.y){
return 1;
}
else if(q.y == b.y){
if(q.m < b.m)
return 1;
else if(q.m < b.m){
if(q.d < b.d)
return 1;
else if(q.d == b.d){
return 1;
}
}
}
return 0;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i].s >> a[i].y >> a[i].m >> a[i].d;
}
sort(a, a + n, cmp);
for(int i = 0; i < n; i++){
if(a[i].s == "Luowen"){
cout << a[i].y << " " << a[i].m << " " << a[i].d << " ";//调试#3,觉得有误
}
if(a[i].s == "Chenya"){
cout << a[i].y << " " << a[i].m << " " << a[i].d << " ";//调试#3,觉得有误
}
cout << a[i].s << "\n";
}
return 0;
}