🐷大肚肚
CF-30B普及+/提高

参赛资格

2.0s💾 256MB

📋 题目描述

一场比赛定于 YYYYMMMMDDDD 日举行,其中 DDDD 是当天的日期, MMMM 是当月的月份, YYYY 是当年的年份的最后两位。胖球肚是本次比赛的一名选手。但有一个问题:根据比赛规则,所有选手必须年满 1818 岁。 胖球肚出生于 BYBY 年, BMBM 月,BDBD 日,在不同的国家,日期的书写方式是不同的。例如,在美国,先写月份,然后写日期,最后写年份。

另有规则要求选手出生日和比赛日必须在同一个世纪,如果比赛当天刚好是选手的 1818 岁生日,则她可以参赛。比赛只考虑从 20012001 年到 20992099 年的年份,如果年份的数字可以被 44 整除,那么该年份是闰年。

胖球肚想知道是否有可能重新排列她出生日期的数字,以便她在 YYYY 年, MMMM 月, DDDD 日那天至少 1818 岁。

📥 输入格式

第一行包括三个整数 DDDDMMMMYYYY ,第二行包括三个整数 BDBD , BMBMBYBY ,数据保证两个日期的正确性,并且 BYBYYYYY 保证在 [0199][ 01 ,99 ] 范围内 。

📤 输出格式

如果可能通过重新排列出生日期的顺序,让胖球肚在比赛当天至少 1818 岁,则输出 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

💡 题目讲解

1

理解题意

胖球肚要参加一场比赛,比赛日期是 YY 年 MM 月 DD 日。但规则要求选手必须年满 18 岁。

胖球肚的出生日期是 BY 年 BM 月 BD 日(也是用后两位表示年份)。

🎯 关键操作:胖球肚可以把出生日期的"日、月、年"三个数字重新排列!比如把年份的数字放到月份的位置,把日期当成年份……

⚠️ 两个条件必须同时满足

  1. 重排后的出生日期必须合法(二月没有 30 号、月份不能是 13 等)
  2. 比赛当天,胖球肚至少 18 岁(刚好 18 岁生日也可以)

📅 年份说明:所有年份都在 2001~2099 之间,给了后两位(如 80 就是 2080 年)。能被 4 整除的是闰年,闰年 2 月有 29 天。

1 / 5