CF-30B普及+/提高
参赛资格
⏱ 2.0s💾 256MB
📋 题目描述
一场比赛定于 年 月 日举行,其中 是当天的日期, 是当月的月份, 是当年的年份的最后两位。胖球肚是本次比赛的一名选手。但有一个问题:根据比赛规则,所有选手必须年满 岁。 胖球肚出生于 年, 月, 日,在不同的国家,日期的书写方式是不同的。例如,在美国,先写月份,然后写日期,最后写年份。
另有规则要求选手出生日和比赛日必须在同一个世纪,如果比赛当天刚好是选手的 岁生日,则她可以参赛。比赛只考虑从 年到 年的年份,如果年份的数字可以被 整除,那么该年份是闰年。
胖球肚想知道是否有可能重新排列她出生日期的数字,以便她在 年, 月, 日那天至少 岁。
📥 输入格式
第一行包括三个整数 , 和 ,第二行包括三个整数 , 和 ,数据保证两个日期的正确性,并且 和 保证在 范围内 。
📤 输出格式
如果可能通过重新排列出生日期的顺序,让胖球肚在比赛当天至少 岁,则输出 YES 。否则输出 NO 。
📝 样例 1
输入
01.01.98 01.01.80
输出
YES
📝 样例 2
输入
20.10.20 10.02.30
输出
NO
📝 样例 3
输入
28.02.74 28.02.64
输出
NO
📚 来源
Problem:CF-30B
💡 题目讲解
1
理解题意
胖球肚要参加一场比赛,比赛日期是 YY 年 MM 月 DD 日。但规则要求选手必须年满 18 岁。
胖球肚的出生日期是 BY 年 BM 月 BD 日(也是用后两位表示年份)。
🎯 关键操作:胖球肚可以把出生日期的"日、月、年"三个数字重新排列!比如把年份的数字放到月份的位置,把日期当成年份……
⚠️ 两个条件必须同时满足:
- 重排后的出生日期必须合法(二月没有 30 号、月份不能是 13 等)
- 比赛当天,胖球肚至少 18 岁(刚好 18 岁生日也可以)
📅 年份说明:所有年份都在 2001~2099 之间,给了后两位(如 80 就是 2080 年)。能被 4 整除的是闰年,闰年 2 月有 29 天。
1 / 5