zoukankan      html  css  js  c++  java
  • 洛谷P1512伊甸园的日历游戏题解

    题目

    因为可能要参加qbxt的数论考试,所以最近要开始猛刷数论题了。

    这是第一道,不过看样子并不想数论题啊,只是一个博弈论。

    思路

    一位著名老师说过,数学就是转化和化简,所以先考虑化简,先考虑化简年份,因为无论从闰年到普通年都是偶数个月,所以年份没有影响。

    然后就来判断月份,我们发现11.4输,则11.3赢,10.4赢,9.4输 等等,很容易得出month + day如果是奇数的话是必输的,但是考虑特殊情况即30号情况,发现10.30是输的,所以9.30,11.30必赢。

    (Code)

    #include <bits/stdc++.h>
    using namespace std;
    bool ha[120][120];//i表示月,j表示day
    int main()
    {
        int n;
        scanf("%d", &n);
        for (int i = 1; i <= 100; i++)
            for (int j = 1; j <= 100; j++)
            {
                if ((i + j ) % 2 == 0 || (i == 9 && j == 30) || (i == 11 && j == 30))
                    ha[i][j] = 1;
            }
        while (n--)
        {
            int a, b, c;
            cin >> a >> b >> c;
            if (ha[b][c])
                printf("YES
    ");
            else
                printf("NO
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    HDU6768 The Oculus(Hash)
    HDU6672 Lead of Wisdom(爆搜)
    外一章
    深度学习笔记一
    ACM International Collegiate Programming Contest, Arab Collegiate Programming Contest 2013
    python局部变量&全局变量
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/liuwenyao/p/10579666.html
Copyright © 2011-2022 走看看