hdu1079博弈(规律)

来源:互联网 发布:贵阳网络推广 编辑:程序博客网 时间:2024/05/15 04:35

不论是月份加一,还是日期加一,奇偶性(月+天)都会改变,2月也是一样,9月30日和11月30日例外。
那么目标日期是11月4日,为奇数。初始日期如果为偶数的话,先者必胜。
考虑特殊是日期,两个特殊日期本来为奇数,移动一步还是奇数。那么会不会在中途经过这两个日期呢。
如果本来为偶数,如果经过特殊日期就会改变奇偶,从必胜到必败。作为先手,不会主动进入特殊日期,而后者不可能从奇数依旧到达特殊日期的奇数。
如果本来为奇数,同样先手想赢,但是不可能进入特殊日期。保持奇偶性交替变化。
这样一来只可能是初始为特殊日期,否则中途不可能出现特殊日期
找出规律,想法题

#include <iostream>using namespace std;int main(){int year,month,day; int t; cin>>t; while(t--) {     cin>>year>>month>>day;     if((month+day)%2==0||((month==9||month==11)&&day==30))     cout<<"YES"<<endl;     else     cout<<"NO"<<endl; }    return 0;}
0 0
原创粉丝点击