zoukankan      html  css  js  c++  java
  • HDU 2897 邂逅明下 (博弈)

    题意:

    给你n、p、q,每次操作是令n减小 [p, q]区间中的数,当n < p时必须全部取完了,取完最后一次的人算输,问先手必胜还是必败。


    解题思路:

    这种非常类似巴什博弈,可以找出必胜区间和必败区间,[1,p]为必败区间, [p+1, p+q]为必胜区间,很容易发现接下来的区间都是按照这个规律的,这种找出必胜(必败)区间或者必胜(必败)点的方法很常见的。


    /* **********************************************
    Author      : JayYe
    Created Time: 2013-10-31 15:32:47
    File Name   : JayYe.cpp
    *********************************************** */
    
    #include <stdio.h>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    
    int main() {
        int n, p, q;
        while(scanf("%d%d%d", &n, &p, &q) != -1) {
            if(n <= p)  {
                puts("LOST");
                continue;
            }
            n -= p;
            if( n % (p+q) == 0 || n % (p+q) > q)  puts("LOST");
            else    puts("WIN");
        }
        return 0;
    }
    


  • 相关阅读:
    SP338 ROADS
    [Usaco2008 Mar]牛跑步
    [Cerc2005]Knights of the Round Table
    [Poi2005]Piggy Banks小猪存钱罐
    Pku1236 Network of Schools
    PKU2186 Popular Cows 受欢迎的牛
    黑暗城堡
    入门OJ:最短路径树入门
    Sqli-labs
    Sqli-labs
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3400106.html
Copyright © 2011-2022 走看看