A96437.日期平移
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给定一个起始日期(年、月、日,采用公历),接下来有若干次操作:
- 操作 1:向后(未来)平移若干天
- 操作 2:向前(过去)平移若干天
请在按顺序依次执行所有操作后,输出最终的年月日。
输入格式
第一行:三个整数 Y M D(表示年、月、日)
第二行:一个整数 Q(操作次数)
接下来 Q 行:每行两个整数 op x
op = 1表示向后平移x天op = 2表示向前平移x天x ≥ 0
输出格式
输出三个整数 Y M D,表示所有操作执行完毕后的日期。
输入输出样例
输入#1
2020 2 28 1 1 1
输出#1
2020 2 29
输入#2
1000000000 2 28 5 1 1 1 1 2 60 1 365 2 305
输出#2
1000000000 3 1
输入#3
777777777 3 1 5 2 1 1 365 2 366 1 730 2 732
输出#3
777777777 2 25
说明/提示
保证初始日期合法,且在每一步操作后以及最终结果都合法并且年份仍在 [1,109] 范围内。
使用公历的闰年判定规则:
- 能被 400 整除的年份是闰年;
- 能被 4 整除但不能被 100 整除的年份是闰年;
- 其余为平年。