hdu Calendar Game (博弈论奇偶性找规律)

博弈论

找规律,每步有两个方案,天数加一或者月数加一,找规律发现月数和天数之和的奇偶性都会发生变化,除了两个特殊日期,9.30和11.30.他们加一会变为10.1和12.1,和为奇数不变,单独讨论。

若开局和是偶数如(11.3),则先手必胜,他就不会主动进入特殊的日期来改变对手的奇偶性,

若开局和是奇数,则先手必败,而且+1也只能从奇数变到偶数,不可能进入特殊日期,所以也不会进入

所以只能一开始给定特殊日期,此时,我们仍然可以将对手化为奇数局面,使自己必胜。

#include 
#include 
using namespace std;

int y,m,d;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        cin>>y>>m>>d;
        if((m+d)%2==0||((m==9||m==11)&&d==30))
            cout<<"YES"<



你可能感兴趣的:(博弈论,找规律)