百度之星 2017初赛第一场 1005 今夕何夕
今夕何夕
Accepts: 1345
Submissions: 5533
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
今天是2017年8月6日,农历闰六月十五。
小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨。
为了排遣郁结,它决定思考一个数学问题:接下来最近的哪一年里的同一个日子,和今天的星期数一样?比如今天是8月6日,星期日。下一个也是星期日的8月6日发生在2023年。
小贴士:在公历中,能被4整除但不能被100整除,或能被400整除的年份即为闰年。
Input
第一行为T,表示输入数据组数。
每组数据包含一个日期,格式为YYYY-MM-DD。
1 ≤ T ≤ 10000
YYYY ≥ 2017
日期一定是个合法的日期
Output
对每组数据输出答案年份,题目保证答案不会超过四位数。
Sample Input
3
2017-08-06
2017-08-07
2018-01-01
Sample Output
Copy2023
2023
2024
[分析1]
这一题一开始不知道有公式,然后徒手写。
思路:从输入的日期开始算到一年后同一日期相隔了多少天,天数MOD7如果等于0,就输出年份。
注意:
1.闰年
2.日期在3月及以后判断下一年是否是闰年,是则天数加1.
3日期在3月以前判断今年是否是闰年,是则天数加1.
4.如果日期是2月29号,判断4年后是否是闰年,是则加4年天数,否则加8年天数。
[代码1]
#include<cstdio>
int main()
{int t, y, m, d;scanf("%d", &t);while (t--){scanf("%d-%d-%d", &y, &m, &d);int cnt = 0;if (m == 2 && d == 29){while (1){if (((y + 4) % 4 == 0 && (y + 4) % 100 != 0) || (y + 4) % 400 == 0){cnt += 365 * 4 + 1;cnt = cnt % 7;y = y + 4;if (cnt == 0){printf("%d\n", y);break;}}else{cnt += 365 * 8 + 1;cnt = cnt % 7;y = y + 8;if (cnt == 0){printf("%d\n", y);break;}}}}else{while (1){if (m >= 3){if (((y + 1) % 4 == 0 && (y + 1) % 100 != 0) || (y + 1) % 400 == 0){cnt += 366;cnt = cnt % 7;y++;if (cnt == 0){printf("%d\n", y);break;}}else{cnt += 365;cnt = cnt % 7;y++;if (cnt == 0){printf("%d\n", y);break;}}}else{if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0){cnt += 366;cnt = cnt % 7;y++;if (cnt == 0){printf("%d\n", y);break;}}else{cnt += 365;cnt = cnt % 7;y++;if (cnt == 0){printf("%d\n", y);break;}}}}}}
}
[分析2]
可以用公式做
百度之星 2017初赛第一场 1005 今夕何夕相关推荐
- 百度之星2009程序设计大赛 初赛第一场试题
百度之星2009程序设计大赛 初赛第一场试题 2009年5月30日19:00-22:30(由于第二题出错,比赛时间延长半小时),2008百度之星大赛在线资格赛(初赛)展开.百度爱好者(Baiduer. ...
- 2021百度之星初赛第一场部分题解
写在前面 几个家长要求我写一些2021百度之星初赛第一场的题解. 1003 鸽子 原题链接 https://acm.hdu.edu.cn/showproblem.php?pid=6998 http:/ ...
- 2017 计蒜之道 初赛 第一场 A题B题
阿里九游开放平台近日上架了一款新的益智类游戏--成三棋.成三棋是我国非常古老的一个双人棋类游戏,其棋盘如下图所示: 成三棋的棋盘上有很多条线段,只能在线段交叉点上放入棋子.我们可以用坐标系来描述棋盘: ...
- 2012百度之星冬季赛第二场第二题 消去游戏I
2012百度之星冬季赛第二场第二题 消去游戏I 题目: Alice和Bob又开始发明新游戏了,这回的名字叫消去游戏. 消去游戏的道具是一堆排成一行的积木,每个积木上面都有一个数字Ai.同时游戏也需要M ...
- 【百度之星2014~初赛(第二轮)解题报告】JZP Set
声明 笔者近期意外的发现 笔者的个人站点 http://tiankonguse.com/ 的非常多文章被其他站点转载,可是转载时未声明文章来源或參考自 http://tiankonguse.com/ ...
- 51nod 1515 明辨是非 2017百度之星初赛第一场第二题(并查集+启发式合并)
题目: 原题链接 给n组操作,每组操作形式为x y p. 当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等:否则输出NO,并忽略此次操作. 当p为0时,如果第x变量和第y个变 ...
- 媒体实录:百度林元庆第一时间解读百度大脑VS.最强大脑第一场
昨晚23:20,<最强大脑>第四季人机大战第一场在江苏卫视落下帷幕.这场被称为跨越30年的"千脸识别"之战,经过了将近1小时的鏖战,以"百度大脑"派 ...
- 百度之星2018初赛游记
第一场 觉得初赛大概很水,于是迟了半小时开题,发现许多人都a出了两题,顿觉不太对劲 精神状态不好,有点迷迷糊糊的,在A完最水的T1之后以为T2要splay,仔细观察发现就是个list 用stl没几行就 ...
- 银联高校极客挑战赛 初赛 第一场、第二场合集(3+3题)
第一场 A. 码队女朋友的王者之路 测试用例 测试1 4 5 2 2 00101 5 1 2 11110 6 2 3 000000 7 6 6 0000001 测试2 1 1 1 1 0 测试3 1 ...
最新文章
- C++ 关于方法传值
- 2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4
- 分布式与人工智能课程(part15)--深度学习
- System.Net.Cookie
- 年底绝对不能犯的四个职场错误
- 关于SimpleDateFormat的一些使用及性能数据
- ZZ:别说你会阅读电子书——从编辑、美化PDF电子书的实用技巧说起
- 一种深度学习方法---迁移学习
- qq实验报告c语言,C语言实现QQ密码大盗(没试验过,下回验证一下)
- 杭州市公积金提取及相关知识
- 程序员如何创新?逆工程师思维
- java silk转mp3,小程序录音后格式转换问题请教
- Mac电脑3D渲染和动画制作KeyShot Pro中文
- xshell常用命令和快捷键----(备忘、随时更新)
- 高中英语完形填空同义词90%选项
- 自己制作Chrome便携版实现多版本共存
- MOCTF-MISC-writeup
- android 9华为p20,华为P20PRO升级EMUI9.0(安卓9.0)的一些感受
- 【算法】动画图解Dijkstra算法及其实现代码
- OpenLayers之 图层