sdnu1028联系人
来源:互联网 发布:小智logo软件 编辑:程序博客网 时间:2024/06/05 19:17
1028.联系人
Time Limit: 1000 MS Memory Limit: 32768 KB
Total Submission(s): 755 Accepted Submission(s): 169
Description
手机联系人通常都可以按姓名进行排列,SYC突发奇想按年龄进行排列,但是其手头没有每个人的年龄,于是将每个联系人的生日输入进了手机。现在请你帮助SYC实现他的愿望,将给定的联系人按年龄从大到小排列(大一天也是大哦~),如果两人同年同月同日生,那么按姓名升序进行排列。
Input
第一行一个整数N,代表手机中有N个联系人。1<=N<=1000
接下来的N行表示每一个联系人的信息,每一行首先是联系人的名称,然后有一个空格,之后是该联系人的生日(月/日/年)。联系人的姓名不会超过50个字符,只包含英文大写字母。生日均是合法的日期,年份为4位,月份和日期为1~2位。
Output
输出N行,每一行显示该联系人的姓名。
Sample Input
5
SYC 1/1/1990
ZZK 3/3/1990
LZC 4/4/1990
LG 02/02/1990
WZ 12/12/1990
Sample Output
SYC
LG
ZZK
LZC
WZ
Source
SDNU ACM-ICPC 2012省队选拔赛
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define N 1001using namespace std;struct people{ char a[50]; int b,c,d;} p[N];bool cmp(people a,people b){ if(a.d<b.d) return true; else if(a.d==b.d&& a.b<b.b) return true; else if(a.d==b.d&& a.b==b.b&& a.c<b.c) return true; else if(a.d==b.d&& a.b==b.b&& a.c==b.c&& strcmp(a.a,b.a)==-1) return true; else return false;}int main(){ int n; cin>>n; for(int i=0; i<n; i++) { scanf("%s %d/%d/%d", &p[i].a, &p[i].b, &p[i].c, &p[i].d); } sort(p, p+n, cmp); for(int i=0; i<n; i++) { printf("%s\n", p[i].a); } return 0;}
阅读全文
0 0
- sdnu1028联系人
- 联系人
- 联系人
- 联系人
- 联系人
- 加联系人
- 修改联系人
- 获得联系人
- 同步联系人
- 联系人,来电
- 联系人 表
- android 联系人
- 联系人选择器
- 联系人ProfileProvider
- 查询联系人
- 联系人操作
- 联系人API
- android联系人
- HashMap多线程并发问题分析
- 关于Java中的泛型
- learning R with swirl-looking at data
- OPENCV安装编译
- 深度学习—初见
- sdnu1028联系人
- Android设计模式之——解释器模式
- Python数据分析几个比较常用的方法
- 提示框随鼠标移动
- O365邮箱迁移中的那些坑 -- 活动目录同步
- C++ GUI Programming with Qt4 Second Edition 之 附录C Qt Jambi简介
- 洛谷P1439LCS
- ASP.NET Core 配置身份验证
- halcon常用算子简介