1102:日期博弈

时间限制: 2 S | 内存限制: 65536 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

XY和JG玩一个日期博弈的游戏。游戏开始时,有一个1900年1月1日至2018年3月30日之间的日期。先是XY的回合,然后是JG的回合,接下来又是XY的回合,JG的回合,...,直到一方取得胜利。假设两个人都足够聪明。

游戏规则是:

1、要么把日期变成下一天(例如2017年12月31日的下一天是2018年1月1日);

2、要么把日期变成下个月的同一天(例如2017年12月31日下个月的同一天是2018年1月31日),但如果下个月的同一天不存在(例如2018年1月31日的下个月同一天2018年2月31日是不存在的),则不能使用本条日期变换规则;

3、要么把日期变成下一年的同一月同一天(例如2016年12月31日下一年的同一月同一天2017年12月31日,但如果下一年的同一月同一天不存在(例如2016年2月29日的下个月同一天2017年2月29日是不存在的),则不能使用本条日期变换规则;

胜利条件:如果有人将日期变成了2018年3月31日,则获胜。如果有人故意将日期变成了2018年3月31日之后的日期,则输掉游戏。

现在想要知道XY是否能赢得游戏。

注意:需要考虑闰年,闰年的判定规则是非整百的年份要能被4整除,整百的年份要能被400整除。

输入

一个正整数n,表示n组案例。

每组案例由3个整数构成,表示年、月、日。(保证是1900年1月1日至2018年3月30日之间的合法日期)

输出

针对每组案例,如果XY能赢得游戏,则输出YES,否则输出NO。

每组案例输出完都要换行。


样例输入

3

2018 3 30

2018 3 29

2018 2 28

样例输出

YES

NO

YES

HINT

 

来源
第六届编程大赛