#ATagc063a. [AGC063A] Mex Game

[AGC063A] Mex Game

题目描述

给定一个由 AB 组成、长度为 N+1N+1 的字符串 S=S0S1SNS = S_0 S_1 \cdots S_N。对于每个 k=1,2,,Nk=1,2,\ldots,N,请解决以下问题:

Alice 和 Bob 使用集合 XX 进行游戏。XX 初始为空集,接下来按照 t=1,2,,kt=1,2,\ldots,k 的顺序进行如下操作:

  • tt 为奇数时,Alice 选择一个非负整数 xx,并将 XX 替换为 X{x}X \cup \{x\}
  • tt 为偶数时,Bob 选择一个非负整数 xx,并将 XX 替换为 X{x}X \cup \{x\}

kk 次操作全部结束后,记 x=mex(X)x = \mathrm{mex}(X),如果 SxS_xA,则 Alice 获胜;如果 SxS_xB,则 Bob 获胜。注意,由于 XX 的元素个数不超过 kk,所以 x=mex(X)kx = \mathrm{mex}(X) \leq k 恒成立(因此 SxS_x 一定存在)。

请输出在双方都采取最优策略的情况下,最终的胜者名字。

mex(X)\mathrm{mex}(X) 是什么?对于一个由非负整数组成的有限集合 XXmex(X)\mathrm{mex}(X) 定义为不属于 XX 的最小非负整数 xx

输入格式

输入通过标准输入给出,格式如下:

NN SS

输出格式

输出 NN 行。第 ii 行输出当 k=ik=i 时,双方都采取最优策略时的胜者名字(AliceBob)。

样例 1

输入

2
ABB

输出

Alice
Bob

样例 2

输入

4
AAAAA

输出

Alice
Alice
Alice
Alice

样例 3

输入

7
BBAABABA

输出

Bob
Bob
Alice
Bob
Alice
Bob
Alice

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • SS 是由 AB 组成的长度为 N+1N+1 的字符串。

样例解释 1

以下是 k=1k=1 时游戏的一个进行示例:

  • Alice 选择 x=10x=10
  • mex(X)=mex({10})=0\mathrm{mex}(X) = \mathrm{mex}(\{10\}) = 0S0S_0A,所以 Alice 获胜。

以下是 k=2k=2 时游戏的一个进行示例:

  • Alice 选择 x=2x=2
  • Bob 选择 x=0x=0
  • mex(X)=mex({0,2})=1\mathrm{mex}(X) = \mathrm{mex}(\{0,2\}) = 1S1S_1B,所以 Bob 获胜。

由 ChatGPT 4.1 翻译