杭电1079

来源:互联网 发布:江苏银河网络 编辑:程序博客网 时间:2024/06/03 19:50
其实有很多时候博弈不需要求sg函数,很多时候也是不好求的,这时候我们模拟一下,就可以知道它里面的游戏规律,有些规律不好找也不好证明,但是我们还是尽量证明吧。不然的话,真正不碰到了,不一定有勇气啊。平时的时候证明不到也没关系。多看看。慢慢积累,最后多了,经验有了,自然就好办了。
把月和日的和看做一个数a,那么两个人依次决定后会改变a的奇偶性,最后面对11,4(a=11+4)是一个奇数,所以谁面对奇数这个状态谁就输了,反过来说如果谁吧对方控制每次都是奇数,必然赢,在所有的日期中,所有的a是偶数的月份肯定可以只用一步就把对方控制成奇数,(****9.30,和11.30 也可以)让对方一直是奇数包括平年或闰年的2月都一样所以最先抢到a是偶数或者9.30或11.30的人会赢,也就是说第一个人面对的输入值a=(月+日)不满足赢的状态,那么他一定会输;#include<stdio.h>int main (){  int a,b,c,t;  scanf("%d",&t);  while(t--)  {    scanf("%d%d%d",&a,&b,&c);    if((b+c)%2==0||(b==9||b==11)&&c==30)    printf("YES\n");    else    printf("NO\n");   }   return 0;}
0 0