HDU1079 Calendar Game

看完大佬写的博客才懂的,但是大佬的博客我要看好久才能看懂,自己比较菜,我需要看那种秒懂的博客才可以,所以写下这篇博客希望可以帮到像我一样的蒟蒻  =_=  =_=

根据奇偶性,目标日期11月4日是奇数,那么偶数的日期一定会是必胜!

下面解释一下为什么偶数日期必胜:

1.当前日期是偶数,我的下一步一定可以找一个奇数日期给另一个人,从必胜到必败。

2.作为后手奇数,能不能也找个奇数给先手呢!也就是奇数到奇数的变化!答案是可以的。

没想到还真有这样的日期       9月30日到10月1号     和     11月30号到12月1号      没错就这两个

可能你会觉得我之前的结论:偶数的日期一定会是必胜!是存在漏洞滴,no no no,如果我是先手,我是不会给你这两个可以从奇数到奇数的日期滴。

什么时候会出现9月30号:那就是9月29号和8月30号,9月29号的时候我给你10月29号,8月30号的时候我给你8月31号,

同理可以说明11月30号后手也别想了,            哈哈哈哈,这样后手猴年马月都是奇数喽!这样也就说明了先手偶数必胜!

那先手奇数有没有赢得情况,不就是前文说的那两种从奇数到奇数的日期吗!这波铺垫真的是6啊!

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int year,month,day;
 5 int main()
 6 {
 7     int t;
 8     scanf("%d",&t);
 9     while(t--)
10     {
11         scanf("%d%d%d",&year,&month,&day);
12         if((month+day)%2==0||(month==9&&day==30)||(month==11&&day==30))
13             printf("YES\n");
14         else
15             printf("NO\n");
16     }
17     return 0;
18 }

猜你喜欢

转载自www.cnblogs.com/--lr/p/8954689.html