初级光能
题目链接: 酷町堂:5520
5520 桃园结义
经验值:800 时间限制:1000毫秒 内存限制:128MB
题目描述 De**ion
东汉末年,刘备结识了关羽和张飞,他们决定一起匡扶汉室。于是在桃园结义,此时需要知道谁是大哥,要按照年龄排序。这个问题很简单。现在假设不止3个人,而是有n个人,请你帮这n个人按年龄从大到小排序。
输入描述 Input De**ion
第一行,一个整数n,表示人数
接下来n行,每行4个部分,name y m d,表示这个人的姓名和出生的年月日
输出描述 Output De**ion
把这n个人按照年龄从大到小排序,如果年龄一样,按照输入的顺序,先输入的后输出
样例输入 Sample Input
3 LiuBei 2020 1 1 GuanYu 2020 1 2 ZhangFei 2020 1 3
样例输出 Sample Output
LiuBei GuanYu ZhangFei
数据范围及提示 Data Size & Hint
n<=10000
#include<bits/stdc++.h>
using namespace std;
struct pm{
string name;
int sr;
int n;
int d;
}a[10005];
int cmp(pm a,pm b){
if(a.sr!=b.sr){
return a.sr<b.sr;
}else if(a.n!=b.n){
return a.n<b.n;
}
return a.d<b.d;
}
int main(){
int n;
cin>>n;
getline(cin,a[0].name);
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].sr>>a[i].n>>a[i].d;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].name<<endl;
}
return 0;
}
0分