洛谷 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
思路:排序
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n; struct nond{ int year,month,day,id; }child[101]; char s[101][21]; int cmp(nond a,nond b){ if(a.year==b.year) if(a.month==b.month) if(a.day==b.day) return a.id>b.id; else return a.day<b.day; else return a.month<b.month; else return a.year<b.year; } int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%s %d%d%d",s[i],&child[i].year,&child[i].month,&child[i].day); child[i].id=i; } sort(child+1,child+1+n,cmp); for(int i=1;i<=n;i++) cout<<s[child[i].id]<<endl; }
细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。
雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。