zoukankan      html  css  js  c++  java
  • 26-又是取石子(博弈)

     /*                                        又是取石子
     题目内容:

     "有甲乙两个人玩取石子游戏,共有n个石子(1<=n<=30000)两个人轮流取,甲先取.每次最多取m个(1<=m<=30000)最少取一个,当轮到谁取的时候没有石子了,谁就赢.
    比如4个石子,每次最多取3个,那末先取的人(甲)一定赢n和m谁大没有限制.)
    (甲拿走3个,乙只拿走1个,下面轮到甲了,但是没有石子了,甲赢了.)
    现在要求你写一个程序,输入n(总的石子个数),最多可以取的石子个数m,输出甲(先取的人)是否会赢,会赢的话输出YES,否则输出LOSE.
    我们这里假设甲乙两个人都采取最好的策略,也就是甲乙都非常想赢而且足够聪明.
    比如输入11 4 输出LOSE"

    输入描述

    整数n m, 空格隔开


    输出描述

    YES或者LOSE


    输入样例

    11 4


    输出样例

    LOSE
    */
    //思路:1为必败局,那么可以知道2 到 m+1为必胜局,m + 2无论怎么取都是在2到m+1之间,所以m + 2 为必败局,依次 类推。

    #include <iostream>
    using namespace std;

    int main(){
        int n, m;
        cin >> n >> m;
        if(n == 1)
            cout << "LOSE";
        else{
            int k;
            for(int i = 1; i <= n; i++){
                if(i * (m + 1) + 1 == n){
                    cout << "LOSE";
                    return 0;    
                }
            }
            cout << "YES";
        }
        return 0;
    }

  • 相关阅读:
    Android框架之路——OkGo的使用
    recyclerview23+出现多个item只显示第一个item的问题
    Spark MLlib回归算法LinearRegression
    Spark MLlib聚类KMeans
    Impala性能优化
    Impala通过JDBC方式访问
    Impala与HBase整合
    Impala数据处理(加载和存储)
    Impala SQL
    Impala储存与分区
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/7429807.html
Copyright © 2011-2022 走看看