题目:
输入:
3
Yangchu 1992 4 23
Qiujingya 1993 10 13
Luowen 1991 8 1
输出:
Luowen
Yangchu
Qiujingya
代码:
#include<bits/stdc++.h>
using namespace std;
#define M 100005
//int a[M];
struct person
{
string s;int y,m,d;
int num;
}arr[M];
bool cmp(person p1,person p2)
{
if(p1.y!=p2.y)
return p1.y<p2.y;//聪明的改进
else
{
if(p1.m!=p2.m)
{
return p1.m<p2.m;
}
else
{
if(p1.d!=p2.d)
{
return p1.d<p2.d;
}
else
{
return p1.num>p2.num;
}
}
}
}
int main()
{
int n;cin>>n;
for(int i=1;i<=n;i++)
{
cin>>arr[i].s>>arr[i].y>>arr[i].m>>arr[i].d;
arr[i].num=i;
}
sort(arr+1,arr+1+n,cmp);
for(int i=1;i<=n;i++)
{
cout<<arr[i].s<<endl;
}
}