巴什博弈

巴什博弈

这里有这样的一个游戏:

1、  本游戏是一个二人游戏;

2、  有一堆石子一共有n个;

3、  两人轮流进行;

4、  每走一步可以取走1…m个石子;

5、  最先取光石子的一方为胜;

如果游戏的双方使用的都是最优策略,请输出哪个人能赢。

 Input 输入数据首先包含一个正整数C(C<=100),表示有C组测试数据。 每组测试数据占一行,包含两个整数n和m(1<=n,m<=1000),n和m的含义见题目描述。

 Output 如果先走的人能赢,请输出“first”,否则请输出“second”,每个实例的输出占一行。 

Sample Input

2

23 2

4 3

Sample Output

first

second

巴什博弈:
如果我从中取m个的话,那么面临着n=m+1的情况的话,我就必定会输;所以我令n=k*(m+1)+q,好,如果我先(第一个取的人)从中取q个,然后我接下来的每次取得数目与另一个人取得数目之和为m+1,那么另一个人就必定会输!!!
所以在进行编程的时候我们就会考虑这个条件[n%(m+1)==0],如果满足我就必定会输,否则我就必定会赢!!!
(题目所要求都是我为第一个取得人)

#include<iostream>
using namespace std;
int main()
{
    int n,m,number;
    cin>>number;

    while(number--)
    {cin>>n>>m;
        if(n<=m)
        {
            cout<<"first"<<endl;
            continue;
        }
       else if(n%(m+1)==0)
        cout<<"second"<<endl;
        else
        cout<<"first"<<endl;
    }
            return 0;
}

 

转载于:https://www.cnblogs.com/yaobolove/p/4109218.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109650.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python命名规则标识符_python中有效的标识符

    python命名规则标识符_python中有效的标识符标识符规则1、由大小写字母、数字和下划线组成,只能以字母或者下划线开头。2、不能高阔除下划线以外的其他热河字符,如%……%¥#@3、不能包含换行符、空格和制表符等空白字符。4、不能使用Python中的关键字和约定俗成的名称,如print5、Python区分大小写。…

  • HeadFirstJava

    HeadFirstJavajava执行过程的来龙去脉源代码——编译器——输出——java虚拟机扩展名为.java——扩展名为.class不要直接用类名点变量来改变属性值,一般都用get、set方法。封装的基本原则:将你

  • servlet到底是什么?[通俗易懂]

    servlet到底是什么?[通俗易懂]servlet到底是什么?对于这个问题一直云里雾里的,今天打算刨根问底。一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。

  • 拉姆达表达式的使用[通俗易懂]

    拉姆达表达式的使用[通俗易懂]1.什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子:   publicintadd(intx,inty){       returnx+y;   }转成λ表达式后是这个样子:       (intx,inty)-&gt;x+y;参数类型也可以省略,Java编译器会根据上下文推断出来:   (x,y)…

  • 常见内网IP段_内网ip是什么

    常见内网IP段_内网ip是什么常见内网IP段局域网,解决了ipv4地址不够用的问题。同时方便维护管理。局域网地址范围分三类,以下IP段为内网IP段:C类:192.168.0.0-192.168.255.255B类:172.16.0.0-172.31.255.255A类:10.0.0.0-10.255.255.255…

  • html下拉框内容新增,给html下拉框控件自动添加数据[通俗易懂]

    html下拉框内容新增,给html下拉框控件自动添加数据[通俗易懂]functionAddRow(){varmyTable=tElementById(“ctl00_ContentPlaceHolder1_zjjzzTB”);varnewRowIndex=ws.length;functionAddRow(){varmyTable=tElementById(“ctl00_ContentPlac…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号