1028. 人口普查(20)
来源:互联网 发布:手机淘宝卖东西怎么弄 编辑:程序博客网 时间:2024/05/19 02:17
题目描述
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。
这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。
输入格式:
输入在第一行给出正整数N,取值在(0, 105];随后N行,每行给出1个人的姓名(由不超过5个英文字母组成的字符串)、以及按“yyyy/mm/dd”(即年/月/日)格式给出的生日。题目保证最年长和最年轻的人没有并列。
输出格式:
在一行中顺序输出有效生日的个数、最年长人和最年轻人的姓名,其间以空格分隔。
输入样例:
5
John 2001/05/12
Tom 1814/09/06
Ann 2121/01/30
James 1814/09/05
Steve 1967/11/20
输出样例:
3 Tom John
C++代码
#include<bits/stdc++.h>using namespace std;long long maxn=20140907, minn=18140905; char name[6],max_name[6],min_name[6];int main(){ int n; while(~scanf("%d",&n)){ int count=0; while(n--){ int year,month,date; scanf("%s %d/%d/%d",name,&year,&month,&date); long long birth=year*10000+month*100+date; if(birth>=18140906&&birth<=20140906){ count++; if(birth<maxn){ strcpy(max_name,name); maxn=birth; } if(birth>minn){ strcpy(min_name,name); minn=birth; } } } if(count) printf("%d %s %s\n",count,max_name,min_name); else printf("0\n"); } return 0;}
阅读全文
0 0
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- pat 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- HDU 6231 K-th Number CCPC2017 Harbin(二分答案)
- win7系统休眠功能的关闭与启用
- 1133. Splitting A Linked List (25)
- 看了毁你三观的PCB设计理论 高速PCB外层还要不要覆铜了
- 【我的Java笔记】数据结构
- 1028. 人口普查(20)
- Log4J使用笔记
- C++——初始化列表
- 1029. 旧键盘(20)
- 6.13
- 2D 动画调整 position 产生的位移问题
- linux安装scrapy报错 Python.h: 没有那个文件或目录
- 大整数JAVA算法
- 身份证号码简单检验