zoukankan      html  css  js  c++  java
  • HDU1079-Calendar Game 简单思维博弈··

    题意:给你1990,1.1----2001.11.4范围内的某一天,格式year month day  两人轮流操作:

    1. day+1;

    2.month + 1;

    谁先达到2001.11.4号,谁获胜。

    思路:要到达11.4,,由于11+4=15  是奇数。

    并且  上面的两种操作,都会使日期的奇偶性改变。

    因此,只要刚开始的日期是偶数,先手赢;

    奇数,先手败。

    但是 还有特例 9.30  9+30=39 奇数,+1之后是10.1  10+1=11 还是奇数。

      11 30   11+30=41 是奇数  ,+1之后是 12.1  12+1=13 还是奇数;

    所以当日期是偶数  以及上面这两个特例的时候先手胜,其他情况先手败。

    具体  看代码。

     1 #include<iostream>
     2 #include<queue>
     3 #include<cstdio>
     4 #include<cmath>
     5 #include<cstring>
     6 using namespace std;
     7 const int INF=0x3f3f3f3f;
     8 const int maxn=1e5+5;
     9 int main()
    10 {
    11     int T;
    12     cin>>T;
    13     while(T--)
    14     {
    15         int y,d,m;
    16         cin>>y>>m>>d;
    17         if((m+d)%2==0||(d==30&&(m==11||m==9)))
    18             printf("YES
    ");
    19         else printf("NO
    ");
    20     }
    21  
    22     return 0;
    23 }
    View Code

    19:41:27

  • 相关阅读:
    arclinux安装报错unknown trust
    linux微型主机服务器配置
    spring data jpa + hibernate
    又纠结activiti
    comet4j
    shiro纠结之旅
    ubuntu更改jdk版本的问题
    struts上传
    java实现四则运算
    6 个重构方法可帮你提升 80% 的代码质量(转)
  • 原文地址:https://www.cnblogs.com/Cherry93/p/9852304.html
Copyright © 2011-2022 走看看