最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 纸牌游戏

    正文概述 陈老师   2026-01-20 15:16:00  

    题目描述

    Alice 和 Bob 正在玩一款游戏。他们共有 nn 张卡片,编号从 11nn。游戏开始时,一些卡片分配给了 Alice,剩下的卡片分配给了 Bob。

    卡片 ii 能打败卡片 jj 当且仅当 i>ji > j,唯一的例外是卡片 11 可以打败卡片 nn

    游戏进行的规则如下(当两人手中都有卡片时):

    1 Alice 选择一张自己的卡片,正面朝上放在桌上;

    2 Bob 看到 Alice 的卡后,选择一张自己的卡,也正面朝上放在桌上;

    3 如果 Alice 的卡能打败 Bob 的卡,那么两张卡都归 Alice 所有,否则两张卡都归 Bob 所有。

    两人可以在之后的回合中使用自己获得的卡牌。

    当某一方在其轮到操作时没有任何卡牌可以打出时,游戏结束,该玩家失败。

    已知双方都采取最优策略,判断最终谁会赢。

    输入格式

    第一行:一个整数 tt,表示测试组数。(1t50001 \le t \le 5000

    接下来 tt 个测试用例,每个包含两行:

    第一行:一个整数 nn2n502 \le n \le 50)— 卡片数量;

    第二行:一个长度为 nn 的字符串,仅包含 A 和 B。如果第 ii 个字符是 A,表示卡片 ii 初始属于 Alice,否则属于 Bob。

    保证每组数据中,Alice 和 Bob 都至少有一张卡。

    输出格式

    每组测试用例输出一行,输出 Alice 或 Bob,表示最终的胜者。

    样例

    8
    2
    AB
    2
    BA
    4
    ABAB
    4
    BABA
    3
    BAA
    5
    AAAAB
    5
    BAAAB
    6
    BBBAAA
    
    Alice
    Bob
    Bob
    Bob
    Alice
    Alice
    Bob
    Alice
    

    提示

    样例1解释

    在第一个测试案例中,爱丽丝只有一张牌,而鲍勃只有一张牌。由于爱丽丝的牌战胜了鲍勃的牌,所以她在第一轮后获胜。

    在第二个测试案例中,爱丽丝只有一张牌,而鲍勃只有一张牌。由于鲍勃的牌赢了爱丽丝的牌,所以他在第一轮后获胜。

    在第三个测试案例中,有两种可能的游戏情况:

    • 如果爱丽丝在第一轮出了 11 这张牌,那么鲍勃可以用 22 这张牌回应,并拿走两张牌。然后,爱丽丝必须在第二轮出牌 33 ,而鲍勃将以出牌 44 作为回应。然后,他就赢了;
    • 如果爱丽丝在第一轮出牌 33 ,鲍勃可以回应出牌 44 并拿走两张牌。然后,爱丽丝必须出牌 11 ,而鲍勃可以出牌 2233 。然后,他就赢了。

    在第四个测试案例中,有两种可能的游戏情况:

    • 如果爱丽丝在第一轮出牌 22 ,鲍勃可以回应出牌 33 并拿走两张牌。然后,爱丽丝必须在第二轮出牌 44 ,而鲍勃将以出牌 11 作为回应。然后,他就赢了;
    • 如果爱丽丝在第一轮出牌 44 ,鲍勃可以回应出牌 11 并拿走两张牌。然后,爱丽丝必须出牌 22 ,而鲍勃可以回应 3344 。然后,他就赢了。
    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 纸牌游戏