巴什博弈

巴什博弈

这里有这样的一个游戏:

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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • CSS 相邻兄弟选择器

    相邻兄弟选择器(Adjacentsiblingselector)可选择紧接在另一元素后的元素,且二者有相同父元素。选择相邻兄弟如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用

    2021年12月20日
  • 动态规划算法解01背包问题(思路及算法实现)

    动态规划算法解01背包问题(思路及算法实现)说明:算法源自教材。本文相当于对教材做的一个笔记(动态规划与贪心算法解01背包必须先对背包按照单位重量的价格从大到小排序,否则拆分的子问题就不具备最优子结构的性质)动态规划算法:动态规划就是一个填表的过程。该表记录了已解决的子问题的答案。求解下一个子问题时会用到上一个子问题的答案。{比如01背包问题:假如有1个背包,背包容量是10,有5个物品,编号为1,2,3,4,5,他们都有各自的…

    2022年7月26日
  • js:如何获取select选中的值

    js:如何获取select选中的值我想获取select选中的value,或者text,或者……比如这个:<selectid=”select”><optionvalue=”A”url=”http://www.baidu.com”>第一个option</option><optionvalue=”B”url=”http://www.qq.com”>第二个option</option></select>一:JavaScript原生的…

    2022年10月23日
  • Java 冒泡排序

    Java 冒泡排序Java冒泡排序冒泡排序是最为出名的排序算法之一,总共有八大排序!直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序冒泡排序还是比较简单的,两次循环吗,外层冒泡轮数,里层依次比较。上代码packageArrays;importjava.util.Arrays;/***冒泡排序*1.比较数组中,两个相邻的元素,如果第一个数比第二个大,我们就让它们交换位置*2.每一次比较,都会产生一个最大的,或者最小的数字*3.下

    2022年7月7日
  • Django(27)Django类视图添加装饰器

    Django(27)Django类视图添加装饰器类视图在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图。使用类视图可以使用类的一些特性,比如继承等。Viewdjango.views.generic.base.View是主

    2022年7月30日
  • TGA文件分析

    TGA文件格式概述【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现分析TGA格式图片使用FlexHEX打开text.tgatest是用像素笔画出的4*4的图像,第一行为白色和三基色,第四行为三补色和黑色,其余两行为白色打开后可以看到结果十分简单:第一个字节是0,表示没有图像的信息字段第二个字节是0,表示没有颜色表第三个字节总是2,表示此类型为格式2接下来五个字节全为0,可以忽略第九第十个字节为0,表示图像X坐标起始位置为0(最左)第十一、十二个字节为0,表示图

    2022年4月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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