2007年百度之星程序设计大赛试题初赛题目-题4-百度时间
题目描述
Baidu 的服务器上使用的不是北京时间,而是 Baidu 时间。 Baidu 时间的时分秒与北京时间相同,但是日期与北京时间不同,是用一个正整数表示从 2000 年 1 月 1 日 起的第几天。
现在就请大家设计一个程序将北京时间转换为百度时间。
输入格式
输入数据的每一行为一个待转化的北京时间,格式包括两种:
一种为: YYYY-MM-DD ,( YYYY 表示四位数年份, MM 为两位月份, DD 为两位日期);
另一种为: MM/DD/YYYY ,( YYYY 表示四位数年份, MM 为两位月份, DD 为两位日期);
不符合任何一种格式的输入视为非法输入。
输出格式
每个数据输出一行。如果格式正确,输出一个正整数,否则输出 Error 。
输入样例
2006-03-21
AStar2007
04/22/2007
输出样例
2149
Error
2463
my answer:
明明 是很简单的一道题,搞不懂它的输出样例是怎么算出来的
#include <iostream>
using namespace std;char ch[11];
int m[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool IsRun(int x);
int main()
{while(cin>>ch){int time[3] = {0}, j = 0, cnt = 0, i;while(ch[j] != '\0' && cnt < 3){if(ch[j] >= '0' && ch[j] <= '9'){time[cnt] = time[cnt] * 10 + ch[j] - '0';}else cnt++;j++;}int year, month, day;if(ch[2] == '/'){month = time[0];day = time[1];year = time[2];}else{year = time[0];month = time[1];day = time[2];}if(year < 2000 || year > 9999 || month <= 0 || month > 12 ||day <= 0 || day > 31){cout<<"Error"<<endl;continue;}int ret = 0;for(i = 2000; i < year; i++){ret = ret + 365;if(IsRun(i))ret++;}for(i = 1; i < month; i++){ret = ret + m[i];if(IsRun(year))ret++;}if(IsRun(year) && month == 2 && day <= 29)ret = ret + day;else if((!IsRun(year) || month != 2) && day <= m[month])ret = ret + day;else{cout<<"Error"<<endl;continue;}ret--;cout<<ret<<endl;}return 0;
}bool IsRun(int year)
{if(year % 4)return 0;if(year % 100)return 1;if(year % 400)return 0;return 1;
}
2007年百度之星程序设计大赛试题初赛题目-题4-百度时间相关推荐
- 2007年百度之星程序设计大赛试题初赛题目-题3-实习生小胖的百度网页过滤器
题目描述 百度网页采集器 (Baiduspider) 每天从互联网收录数亿网页,互联网的网页质量参差不齐.百度的工程师们每天都在改进方法来判断一个网页质量的好坏,使质量差的网页出现在检索结果中较后的位 ...
- AStar2006百度之星程序设计大赛试题
1.百度语言翻译机 百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套独特的缩略语.他们在平时的交谈.会议,甚至在各种技术文档中都会大量运用. 为了让新员工可以更快地适应百度 ...
- 2006年百度之星程序设计大赛复赛第4题 彩球游戏(zuma) 题目及解法
修改源代码,增加注释. /* * common.h * * Created on: 2010-2-6 * Author: edan.deng */ #ifndef COMMON_H_ #define ...
- HDU 6114 Chess 【组合数】(2017百度之星程序设计大赛 - 初赛(B))
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- hdu6383(2018 “百度之星”程序设计大赛 - 初赛(B))
p1m2 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Sub ...
- hdu6380(2018 “百度之星”程序设计大赛 - 初赛(B))
degree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total S ...
- hdu6375(2018 “百度之星”程序设计大赛 - 初赛(A))
度度熊学队列 Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total S ...
- 2018百度之星程序设计大赛 - 资格赛 hdu6345(找区间最小值)
子串查询 Time Limit: 3500/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Sub ...
- 2017百度之星程序设计大赛 - 复赛 01,03,05
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
最新文章
- File类 读取文件
- 什么是IDOC,以及IDOC的步骤
- boost::histogram::axis::transform用法的测试程序
- log4j2 无垃圾模式
- Druid配置文件demo
- 网站开发用什么语言好_网站开发教程:企业如何用网站开启在线业务?
- 系统程序员成长计划-走近专业程序员
- sqlserver递归
- 移动开发痛点之一-接口验证之PostMan图文教程
- python写机器人程序_从Python写入机器人框架控制台
- 自定义View(一)-ViewGroup实现优酷菜单
- HDU - 1247 (字典树水题)
- android10解决NetworkInfo废弃替代NetworkInfo isConnected()问题
- Python程序设计经典题库及答案
- Oracle数据库锁表查询与解锁处理详解
- 已解决-Windows10没有windows照片查看器-Windows10打开照片是黑底的
- mysql重装系统后以前的数据_重装系统后 如何使用之前mysql数据
- Pareto最优解 Pareto分布
- 安卓手机管理器_Kindle 传书最简单的方式:安卓/苹果手机都可以一键传书至Kindle!...
- android 如何绕过签名校验