问题标题: 酷町堂:f

0
0
已解决
薛安博
薛安博
初级光能
初级光能

题目链接: 酷町堂: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分


0
0
刘思彤
刘思彤
新手光能
新手光能

年龄有可能一样,加个判断,d不一样就比较

一样,先输入的后输出

0
刘思彤
刘思彤
新手光能
新手光能

年龄有可能一样,加个判断,d不一样就比较

一样,先输入的后输出

我要回答