#3192. T3 日期推算

T3 日期推算

题目描述

给定一个起始日期(年 yy、月 mm、日 dd)和一个整数 kk,请算出这个日期再过 kk 天之后是哪一天。

闰年规则:能被 4 整除但不能被 100 整除的年份是闰年;能被 400 整除的年份也是闰年。闰年 2 月有 29 天。

输入格式

一行四个整数 y m d ky\ m\ d\ k(1900≤y≤21001900 \le y \le 2100,1≤m≤121 \le m \le 12,dd 保证是该月合法日期,0≤k≤1050 \le k \le 10^5)。

输出格式

一行三个整数 y′ m′ d′y'\ m'\ d',表示 kk 天后的日期,空格分隔。

输入样例

2024 2 28 2

输出样例

2024 3 1

样例解释

2024 年是闰年,2 月有 29 天:2/282/28 再过 1 天是 2/292/29,再过 1 天是 3/13/1。

(对比:若输入 2023 2 28 1,输出为 2023 3 1,因为 2023 年 2 月只有 28 天。)

提示

这是最典型的"规则进位"模拟:一天一天地加。每加一天检查 dd 是否超过当月天数:超过就把 dd 置为 1、月份加 1;月份超过 12 就把月份置为 1、年份加 1。

"当月有多少天"写成函数,闰年判断别写错(1900 不是闰年,2000 是闰年——这也是常见坑点)。