【排序】洛谷 P1104 生日

来源:互联网 发布:js 多选框选中 编辑:程序博客网 时间:2024/06/13 00:41

题目描述

cjf君想调查学校OI组每个同学的生日,并按照从大到小的顺序排序。但cjf君最近作业很多,没有时间,所以请你帮她排序。

输入输出格式

输入格式:
有2行,

第1行为OI组总人数n;

第2行至第n+1行分别是每人的姓名s、出生年y、月m、日d。

输出格式:
有n行,

即n个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)

输入输出样例

输入样例#1:
3
Yangchu 1992 4 23
Qiujingya 1993 10 13
Luowen 1991 8 1
输出样例#1:
Luowen
Yangchu
Qiujingya

说明

数据规模

1

代码

#include<iostream>#include<cstring>#include<algorithm>using namespace std;struct people{    int number;    string name;    int year;    int month;    int day;}a[105];int comp(const people&a,const people&b){    return (a.year<b.year||(a.year==b.year&&a.month<b.month)||(a.year==b.year&&a.month==b.month&&a.day<b.day)||(a.year==b.year&&a.month==b.month&&a.day==b.day&&a.number>b.number));}int main(){    int n;    cin>>n;    for(int i=0;i<n;i++){cin>>a[i].name>>a[i].year>>a[i].month>>a[i].day;a[i].number=i;}    sort(a+0,a+n,comp);    for(int i=0;i<n;i++)cout<<a[i].name<<endl;    return 0; }
0 0
原创粉丝点击