1080 - 取石子游戏

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

一天小明和小红在玩取石子游戏,游戏规则是这样的:
(1)本游戏是一个二人游戏;
(2)有一堆石子,共有n个;
(3)两人轮流进行;
(4)每走一步可以取走1~m个石子;
(5)最先取光石子的一方为胜。
如果游戏的双方使用的都是最优策略,请输出哪个人能赢。

题目输入

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

题目输出

对于每组输入,如果先走的人能赢,请输出“first”,否则请输出“second”。

输入/输出样例

输入格式

2
23 2
4 3

输出格式

first
second

C语言解答

#include<stdio.h>

int main()
{
	int c,n,m;
	scanf("%d",&c);
	while(c--)
	{
		scanf("%d%d",&n,&m);
		printf(n%(m+1)?"first\n":"second\n");
	}
	return 0;
}

C++解答

#include<stdio.h>

int main()
{
	int c,n,m;
	scanf("%d",&c);
	while(c--)
	{
		scanf("%d%d",&n,&m);
		printf(n%(m+1)?"first\n":"second\n");
	}
	return 0;
}

Java解答

import java.util.*;

public class Main{
  final static Scanner jin=new Scanner(System.in);
  public static void main(String args[]){
    int C=jin.nextInt();
    while(C-->0){
      int n=jin.nextInt(),m=jin.nextInt();
      if(n%(m+1)!=0)
        System.out.println("first");
      else
        System.out.println("second");
    }
  }
}