Game! SDUT(环形博弈)

Game!

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

One day, zbybr is playing a game with blankcqk, here are the rules of the game:

There is a circle of N stones, zbybr and blankcqk take turns taking the stones.

Each time, one player can choose to take one stone or take two adjacent stones.

You should notice that if there are 4 stones, and zbybr takes the 2nd, the 1st and 3rd stones are still not adjacent.

The winner is the one who takes the last stone.

Now, the game begins and zbybr moves first.

 

If both of them will play with the best strategy, can you tell me who will win the game?

 

输入

The first line of input contains an integer T, indicating the number of test cases (T≈100000).
For each case, there is a positive integer N (N ≤ 10 18).
 

输出

Output the name of the winner.

示例输入

2
1
2

示例输出

zbybr
zbybr


题目大意:zbybr先手,谁将环形石子最后一个拿走谁赢

对于环形的博弈,先手只可能在他能拿石子个数的范围内取胜,否则后手赢。因为当石子个数大于先手能拿的个数,若先手拿完后,剩下奇数个后手拿与先手对应位置的石子
即可,为偶则拿对应的两个,总可以让先手输



#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define L long long
using namespace std;
int main()
{
    int cla;
    L n;
    ios::sync_with_stdio(false);
    cin>>cla;
    ios::sync_with_stdio(false);
    while(cla--)
    {
        cin>>n;
        if(n<=2)
            puts("zbybr");
        else
        {
            puts("blankcqk");
        }
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值