牛客小白月赛91 B Bingbong的数数世界

题目描述

⭐星星是银河递给月亮的情书,你是世间赠于我的恩赐。

BingBingBing和BongBongBong在玩消数游戏,游戏规则如下:

初始时给定一个数字nnn,然后会有编号为1,2,3...n1,2,3...n1,2,3...n的卡牌共nnn张位于桌面上。

BingBingBing每轮必须选择一个奇数消除,然后可以同时消除一个偶数(此步可以选择做或者不做)。

BongBongBong每轮必须选择一个偶数消除,然后可以同时消除一个奇数(此步可以选择做或者不做)。

BingBingBing先手操作,谁无法操作时即输掉了游戏,若两人都采取最优策略,请您来告诉他们最终的胜者。
 


输入描述:

第一行一个整数T(1≤T≤2×105),表示数据组数。

接下来T行,每行一个整数n(1≤n≤109),含义如题面所示。


输出描述:

输出共T行,每行一个字符串。Bing或者Bong,表示谁赢得了游戏的胜利。


示例1

输入

3
1
2
4

输出

Bing
Bing
Bong

说明

当n=1时,数字有1。
第一轮Bing可以选择消除数字1,然后选择不消除偶数。第二轮Bong无法操作,Bing赢得游戏。

当n=2时,数字有1,2。
第一轮Bing可以选择消除数字1,然后消除偶数2。第二轮Bong无法操作,Bing赢得游戏。

当n=4时,数字有1,2,3,4。
第一轮Bing可以选择消除数字1,然后消除偶数2。第二轮Bong选择数字4,消除奇数3。第三轮Bing无法操作,Bong赢得游戏。

牛客周赛的一道签到题,博弈,很可惜,当时判断错了,没过,含泪ac1题

题目大意:给定n个数字(1~n)

其中bing操作时必须拿一个奇数,拿完奇数可以选择拿偶数。

bong操作时必须拿一个偶数,拿完偶数可以选择拿奇数。

可以理解为当n为奇数时,奇数个数比偶数个数多1

当n为偶数时,偶数个数比奇数个数多1

当奇数个数为零时,bing无法操作,bong赢

当偶数个数为零时,bong无法操作,bing赢

通过博弈发现,如果bing想赢,就必须要拿掉这个偶数。使bong的偶数个数-1。bong同理。

通过模拟可以发现


//1  
奇数:1,偶数:0;此时bing拿掉1,bong无法操作
//1 2 
奇数:1,偶数:1;bing拿掉一个奇数一个偶数 偶数为0
//1 2 3 
奇数:2,偶数:1;bing拿掉一个奇数一个偶数 偶数为0
//1 2 3 4 
奇数:2,偶数:2;bing拿掉一个奇数一个偶数,奇数为1,偶数为1,bong操作拿掉剩下的一个奇数和偶数,此时奇数为0,bing无法操作
//1 2 3 4 5 奇数:3,偶数:2;
//1 2 3 4 5 6 奇数:3,偶数:3;
//1 2 3 4 5 6 7 奇数:4,偶数:3;
//1 2 3 4 5 6 7 8 奇数:4,偶数:4;

此时可得出结论:
偶数个数不可能比奇数多
当奇数个数>偶数个数时,bing赢,
奇数个数等于偶数个数且两个数均为奇数时,bing赢(bing先操作,若为奇数,则最后拿定是bing)
奇数个数等于偶数个数且两个数均为偶数时,bong赢
所以4个为一组,4的倍数为bong赢,其余bing赢
qwq当时也是这么想的,手残了,写成了2个为一组

代码实现

#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main()
{
    int n;cin>>n;
    while(n--)
    {
        int x;cin>>x;
        if(x%4!=0)
        {
            cout<<"Bing"<<endl;
        }
        else
        {
            cout<<"Bong"<<endl;
        }
    }
    return 0;
}

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值