HDU ACM 1079 Calendar Game 博弈找规律

来源:互联网 发布:上海网站建设优化 编辑:程序博客网 时间:2024/05/01 00:43
#include<iostream>using namespace std;int main()      {int y,m,d,t;cin>>t;while(t--){cin>>y>>m>>d;if((m+d)%2==0 || d==30 &&(m==11||m==9))puts("YES");elseputs("NO");}    return 0;      }

找规律,不然是月份加一,还是日期加一,都改变了奇偶性,只有两个特殊日期9月30日,和11月30日例外。

那么目标日期是11月4日,为奇数。初始日期如果为偶数的话,先者必胜。

考虑特殊是日期,两个特殊日期本来为奇数,移动一步还是奇数。那么会不会在中途经过这两个日期呢。

如果本来为偶数,如果经过特殊日期就会改变奇偶,从必胜到必败。作为先手,不会主动进入特殊日期,而后者不可能从奇数依旧到达特殊日期的奇数。

如果本来为奇数,同样先手想赢,但是不可能进入特殊日期。保持奇偶性交替变化。

这样一来只可能是初始为特殊日期,否则中途不可能出现特殊日期


题目大意是:

两个家伙在区域赛前夕闲的无聊,然后玩一种无限纠结的游戏,随即给定一个日期,每次只能移动day OR month..........

而且如果下一个月没有当前day的话, 你就不能移动month,比如1月31日,你只能移动day 使其到2月1日,而不能移动月让其到达2月31日,原因你懂的!

嗯,现在Adam开始YY了要!需要你来找一个必胜策略!(到达2001.11.4日就不能移动,无法移动的孩纸败

必败                  必胜

11.4                   11.3

11.2                   11.1

10.31                 10.30

…………

10.5                   10.4

…………

10.1                   9.30*******

                         9.29(可以跳到10.29)

…………

9.2                  9.1

8.31                8.30

………………

12.1              11.30*****

…………

…………

…………

可以大致看到其实胜负和年份是没有关系的说,年份影响的只是2月是否存在第29天……而29是必败点,28为必胜……

看上图……貌似必胜点 月份+日期 == 偶数 (除去两个例外)

特殊考虑那两个家伙……

参考自:http://blog.csdn.net/vsooda/article/details/8013001

及http://blog.csdn.net/surfacedust/article/details/6687946

0 0
原创粉丝点击