华师一附中OI组

标题: P1104 生日 [打印本页]

作者: admin    时间: 2018-4-21 16:57
标题: P1104 生日
题目描述
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<n<100

length(s)<20


作者: admin    时间: 2018-4-21 16:57
多关键字排序
作者: 黄煦喆    时间: 2018-8-27 15:16
  1. #include<algorithm>
  2. #include<iostream>
  3. using namespace std;
  4. struct student
  5. {
  6.     int y,m,d,id;
  7.     string name;
  8. } a[9999];
  9. bool operator< (student a,student b)
  10. {
  11.     if(a.y>b.y) return 0;
  12.     else if(a.y<b.y) return 1;
  13.     if(a.m>b.m) return 0;
  14.     else if(a.m<b.m) return 1;
  15.     if(a.d>b.d) return 0;
  16.     else if(a.d<b.d) return 1;
  17.     return a.id>b.id;
  18. }
  19. int n;
  20. int main()
  21. {
  22.     cin>>n;
  23.     for(int i=1; i<=n; i++)cin>>a[i].name>>a[i].y>>a[i].m>>a[i].d,a[i].id=i;
  24.     sort(a+1,a+n+1);
  25.     for(int i=1; i<=n; i++)cout<<a[i].name<<endl;
  26.     return 0;
  27. }
复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2