zoukankan      html  css  js  c++  java
  • HDU 2188 悼念512汶川大地震遇难同胞――选拔志愿者(巴什博奕)

    选拔志愿者

    题意:

    对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人员,以及进行心理疏导的心理学专家。根据要求,我校也有一个奔赴灾区救灾的名额,由于广大师生报名踊跃,学校不得不进行选拔来决定最后的人选。经过多轮的考核,形势逐渐明朗,最后的名额将在“林队”和“徐队”之间产生。但是很巧合,2个人的简历几乎一模一样,这让主持选拔的8600很是为难。无奈,他决定通过捐款来决定两人谁能入选。
    选拔规则如下:
    1、最初的捐款箱是空的;
    2、两人轮流捐款,每次捐款额必须为正整数,并且每人每次捐款最多不超过m元。
    3、最先使得总捐款额达到或者超过n元的一方为胜者,则其可以亲赴灾区服务。
    我们知道,两人都很想入选志愿者名单,并且都是非常聪明的人,假设林队先捐,请你判断谁能入选最后的名单?

    题解:

    巴什博奕的基础应用题。这和我上篇博客的思路几乎是一样的,上篇最少取q个,这篇是最少取1个。
    这与一堆石子,规定每次最多与最少取多少,最终取完者胜是一样的。如果先手想要获胜,则先手进行操作之后的剩余值x与m必须满足关系:x % (m + 1) == 0;这样无论后手取多少(设为y)先,手都取 m + 1 - y,则一定获胜。

    代码:

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int o;
        cin>>o;
        while(o--)
        {
            int n,m;
            cin>>n>>m;
            if (n%(m+1)==0)
                cout<<"Rabbit"<<endl;
            else
                cout<<"Grass"<<endl;
        }
    
        return 0;
    }
  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/s1124yy/p/5705161.html
Copyright © 2011-2022 走看看