P12843 [蓝桥杯 2025 国 A] 生日相遇问题

题目描述

小蓝和小乔是好朋友,他们想知道在未来的日子里,什么时候他们的生日会在同一个星期几。已知小蓝的生日是 $m$ 月 $d_1$ 日,小乔的生日是 $n$ 月 $d_2$ 日,请你计算从今年开始(今年为 2025 年),未来 $k$ 年内(包括今年,即年份在区间 $[2025, 2025 + k)$ 中),他们生日在同一个星期几的年份有哪些。 提示: - 闰年的判断规则为:年份能被 $4$ 整除但不能被 $100$ 整除,或能被 $400$ 整除。闰年的 $2$ 月有 $29$ 天,非闰年的 $2$ 月有 $28$ 天。 - 如果某人的生日是 $2$ 月 $29$ 日,那么在非闰年中,他/她的生日将被视为 $2$ 月 $28$ 日进行计算。 - 保证输入日期均为合法日期。

输入格式

输入一行包含五个正整数 $m, d_1, n, d_2, k$,相邻整数之间使用一个空格分隔。

输出格式

输出若干行,每行包含一个整数,表示小蓝和小乔生日在同一个星期几的年份(从今年开始计算,按照年份从小到大的顺序输出)。如果在未来 $k$ 年内没有这样的年份,输出英文 No Answer。

说明/提示

**【样例说明】** 此样例中,小蓝的生日是 1 月 16 日,小乔的生日是 5 月 21 日。 从 2025 到 2032 年间,满足题意的是: - 2028 年,1 月 16 日是星期日,5 月 21 日也是星期日。 - 2032 年,1 月 16 日是星期五,5 月 21 日也是星期五。 **【评测用例规模与约定】** 对于 25% 的评测用例,$1 \leq k \leq 10$; 对于 50% 的评测用例,$1 \leq k \leq 20$; 对于 75% 的评测用例,$1 \leq k \leq 30$; 对于所有评测用例,$1 \leq k \leq 50$,$1 \leq m, n \leq 12$,$1 \leq d_1, d_2 \leq 31$。