今夕何夕

 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 今夕何夕相关推荐

  1. 百度之星2009程序设计大赛 初赛第一场试题

    百度之星2009程序设计大赛 初赛第一场试题 2009年5月30日19:00-22:30(由于第二题出错,比赛时间延长半小时),2008百度之星大赛在线资格赛(初赛)展开.百度爱好者(Baiduer. ...

  2. 2021百度之星初赛第一场部分题解

    写在前面 几个家长要求我写一些2021百度之星初赛第一场的题解. 1003 鸽子 原题链接 https://acm.hdu.edu.cn/showproblem.php?pid=6998 http:/ ...

  3. 2017 计蒜之道 初赛 第一场 A题B题

    阿里九游开放平台近日上架了一款新的益智类游戏--成三棋.成三棋是我国非常古老的一个双人棋类游戏,其棋盘如下图所示: 成三棋的棋盘上有很多条线段,只能在线段交叉点上放入棋子.我们可以用坐标系来描述棋盘: ...

  4. 2012百度之星冬季赛第二场第二题 消去游戏I

    2012百度之星冬季赛第二场第二题 消去游戏I 题目: Alice和Bob又开始发明新游戏了,这回的名字叫消去游戏. 消去游戏的道具是一堆排成一行的积木,每个积木上面都有一个数字Ai.同时游戏也需要M ...

  5. 【百度之星2014~初赛(第二轮)解题报告】JZP Set

    声明 笔者近期意外的发现 笔者的个人站点 http://tiankonguse.com/ 的非常多文章被其他站点转载,可是转载时未声明文章来源或參考自 http://tiankonguse.com/  ...

  6. 51nod 1515 明辨是非 2017百度之星初赛第一场第二题(并查集+启发式合并)

    题目: 原题链接 给n组操作,每组操作形式为x y p. 当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等:否则输出NO,并忽略此次操作. 当p为0时,如果第x变量和第y个变 ...

  7. 媒体实录:百度林元庆第一时间解读百度大脑VS.最强大脑第一场

    昨晚23:20,<最强大脑>第四季人机大战第一场在江苏卫视落下帷幕.这场被称为跨越30年的"千脸识别"之战,经过了将近1小时的鏖战,以"百度大脑"派 ...

  8. 百度之星2018初赛游记

    第一场 觉得初赛大概很水,于是迟了半小时开题,发现许多人都a出了两题,顿觉不太对劲 精神状态不好,有点迷迷糊糊的,在A完最水的T1之后以为T2要splay,仔细观察发现就是个list 用stl没几行就 ...

  9. 银联高校极客挑战赛 初赛 第一场、第二场合集(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 ...

最新文章

  1. C++ 关于方法传值
  2. 2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4
  3. 分布式与人工智能课程(part15)--深度学习
  4. System.Net.Cookie
  5. 年底绝对不能犯的四个职场错误
  6. 关于SimpleDateFormat的一些使用及性能数据
  7. ZZ:别说你会阅读电子书——从编辑、美化PDF电子书的实用技巧说起
  8. 一种深度学习方法---迁移学习
  9. qq实验报告c语言,C语言实现QQ密码大盗(没试验过,下回验证一下)
  10. 杭州市公积金提取及相关知识
  11. 程序员如何创新?逆工程师思维
  12. java silk转mp3,小程序录音后格式转换问题请教
  13. Mac电脑3D渲染和动画制作KeyShot Pro中文
  14. xshell常用命令和快捷键----(备忘、随时更新)
  15. 高中英语完形填空同义词90%选项
  16. 自己制作Chrome便携版实现多版本共存
  17. MOCTF-MISC-writeup
  18. android 9华为p20,华为P20PRO升级EMUI9.0(安卓9.0)的一些感受
  19. 【算法】动画图解Dijkstra算法及其实现代码
  20. OpenLayers之 图层

热门文章

  1. 编程规范和范例(转)-续
  2. 在硅谷,人生的可能性不只有 996
  3. Android实现豆瓣FM的首页效果
  4. 杭漂5年前端感受-白驹过隙,人生如梦
  5. Python语法之函数
  6. postgresql时间差计算
  7. linux shell alias,Linux shell脚本中使用alias定义的别名
  8. ThreeJS逐步实现室内概念图的效果(渲染,交互)
  9. 珠穆朗玛币王:11月22日是谁丢了136亿美元
  10. WordPress美女写真源码 带搭建和采集教程