ZJU 1024 Calendar Game

/*zoj_1024 博弈
http://blog.csdn.net/xsbailong/article/details/7205207
引用別人解釋:Tips:這是一道博弈題,活的勝利的一方必須翻倒2001年11月4日;下面是觀察推論結果,11月4日,11+4=15是奇數。由於無論是加一天還是加一個月都會改變m+d的奇偶性,除了下面幾個特例2月28日、9月30日和11月30日,顯然如果m和d是這三個日子的話則先行者必勝:2月28日到3月28日9月30日到10月1日11月30日到12月1日剩下的只有當m+d爲偶數時先行者必勝。這裏還要說明的是在中間的過程中會不會遇到這幾個特殊情況,答案是否定的,認真想一下就很快能明白了。這個MS是01年韓國亞洲賽的題目,看來數學還是王道的啊!*/

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int n,year,month,day;
    scanf( "%d",&n );
    while( n-- )
    {
        scanf( "%d%d%d",&year,&month,&day );
        if( month==9 && day==30 ) printf( "YES\n" );
        else if( month==11 && day==30 ) printf( "YES\n" );
        else if( (month+day)%2==0 ) printf( "YES\n" );
        else printf( "NO\n" );
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章