zoukankan      html  css  js  c++  java
  • B.T.B.F.(博弈)

    B.T.B.F.
     

    Description

     

    一年一度的Be The Best Foodie(BTBF)大赛开始了。现在已经到了最终决赛。Alice和Bob这对老冤家再次相遇。那么这次,将鹿死谁手呢!

    BTBF的规则如下:场上将提供一把刀,nn块蛋糕。双方轮流执刀。执刀的一方先选择一块蛋糕,将其切成两份,而另一方则选择一份蛋糕吃掉,最后,执刀手将剩下的蛋糕吃掉。为了化简比赛规则,我们将每一块蛋糕的大小化作一个正整数,而蛋糕被切开之后,分成的两个蛋糕必须依然为正整数。没有蛋糕可切之时,则结束比赛。最后,吃的最多的人获胜。

    Alice和Bob都是前所未有的高智商大胃王,每次都一定会做全局于自己最优的选择。

    Alice先行执刀。

    那么,现在当给出每块蛋糕的大小时,请你预言比赛的结果。

    Input

     

    第一行一个整数TT,代表有TT组数据。

    每组数据格式如下:

    第一行一个正整数nn,代表有nn块蛋糕。

    第二行n个正整数a_iai,以空格间隔,代表每块蛋糕的大小。

    sum {n} le 100000n10000a_i le 1,000,000,000ai1,000,000,000

    Output

     

    每组数据输出一行。若Bob吃得多,则输出“Bob”;反之则输出“Alice”。

    Sample Input 1 

    3
    1
    2 
    1
    3
    2
    2 2
    

    Sample Output 1

    Alice
    Bob
    Alice


    注意:若蛋糕为1时 谁都不吃 ; 而两人吃的一样多的时候 Alice赢
    记录奇偶蛋糕个数的奇偶,判断即可
    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        int T;
        scanf("%d",&T);
        int a[100005];
        while(T--)
        {
            int n;
            scanf("%d",&n);
            int j=0,o=0;
            for(int i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
                if(a[i]==1)
                    continue;
                if(a[i]%2==0)
                    o++;
                else
                    j++;
            }
            if((o%2==0)&&(j%2))
            {
                printf("Bob
    ");
            }
            else
            {
                printf("Alice
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    STM32f469I discovery烧写demo例程
    dsp5509的中断系统
    DSP5509之采样定理
    DSP5509开发之FPGA接口
    mongodb学习之:安全和认证
    mongodb学习之:GridFS
    tornado之异步web服务一
    mongodb学习之:数据库命令以及固定集合
    docker: Dockerfile命令介绍
    mongodb学习之:聚合
  • 原文地址:https://www.cnblogs.com/hao-tian/p/10172363.html
Copyright © 2011-2022 走看看