博弈题 日历游戏 求大神解答
亚当和夏娃进入今年的ACM国际大学生程序设计竞赛。昨天晚上,他们玩了日历游戏,庆祝这个比赛。本场比赛由1900年1月1日至2001年11月4日比赛当日。游戏从这个间隔随机选择一个日期开始。然后,亚当和夏娃的球员轮流转牌,亚当,亚当,夏娃,亚当,夏娃等。动作只有一个规则,很简单:从现在的日期开始,他/轮到她可以移动到下一个日历日期或下个月的同一天。当下个月没有同一天时,玩家只移动到下一个日历日期。例如,从1924年12月19日起,你可以移动到1924年12月20日,下一个日历日期或1925年1月19日,下个月的同一天。但从2001年1月31日起,只能移动到2001年2月1日,因为2001年2月31日是无效的。当他/她到达2001年11月4日的日期时,玩家获胜。如果玩家在2001年11月4日之后移动到某个日期,他/她将放弃游戏。
写一个程序,决定是否在初始日期,先行者亚当是否有一个成功的策略。
对于这个游戏,你需要确定闰年,二月有29天。在公历中,闰年发生在四年之内,可以被四整除。因此,1993年,1994年和1995年不是闰年,而1992年和1996年是闰年。另外,以00结尾的年份只有能被400整除时才是闰年。因此,1700,1800,1900,2100和2200不是闰年,而1600,2000和2400是闰年。
输入
输入由T测试用例组成。测试用例(T)的数量在输入的第一行给出。每个测试用例都写成一行,并对应于一个初始日期。YYYY MM DD中的三个整数表示YYYY年的MM月的第DD日的日期。请记住,从1900年1月1日到2001年11月4日这段时间,随机选择了最初的日期。
输出
为每个测试用例打印一行。对于亚当是否对夏娃制胜的问题,这条线应该包含“是”或“否”的答案。由于我们有T测试用例,你的程序应该输出总共T行“是”或“否”。
样本输入
3
2001 11 3
2001 11 2
2001 10 3
样本输入的输出
YES
NO
NO