#ATarc162c. [ARC162C] Mex Game on Tree

[ARC162C] Mex Game on Tree

题目描述

给定一棵有 NN 个顶点的有根树,顶点编号为 11NN。顶点 11 是根,对于每个 i (2iN)i\ (2\leq i \leq N),顶点 ii 的父节点为 PiP_i

树上的部分顶点上写有 00NN 之间的整数。这些信息由数列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N) 给出,若 Ai1A_i\neq -1,则表示顶点 ii 上写有整数 AiA_i;若 Ai=1A_i=-1,则表示顶点 ii 上没有写整数。

Alice 和 Bob 进行游戏。Alice 先手,双方轮流操作,直到所有顶点都被写上整数。每次操作可以选择一个尚未写整数的顶点,并在其上写一个 00NN 之间的整数。

操作结束后,对于每个顶点 vv,定义 f(v)f(v) 为“在顶点 vv 的子树中(包括 vv 本身),没有被写下的最小非负整数”。

若存在某个顶点 vv 满足 f(v)=Kf(v)=K,则 Alice 获胜,否则 Bob 获胜。请判断在双方都采取最优策略的情况下,谁会获胜。

TT 组测试数据,请分别作答。

输入格式

输入按以下格式从标准输入读入。

TT
case1\mathrm{case}_1
\vdots
caseT\mathrm{case}_T

每组数据格式如下:

N KN\ K
P2 P3  PNP_2\ P_3\ \ldots\ P_N
A1 A2  ANA_1\ A_2\ \ldots\ A_N

输出格式

输出 TT 行。对于第 ii 组测试数据,若 Alice 获胜则输出 Alice,否则输出 Bob

样例 1

输入

2
4 2
1 1 2
-1 -1 3 1
6 4
1 2 2 1 3
-1 -1 -1 -1 -1 -1

输出

Alice
Bob

说明/提示

限制

  • 1T1031\leq T\leq 10^3
  • 2N1032\leq N\leq 10^3
  • 0KN0\leq K\leq N
  • 1Pi<i (2iN)1\leq P_i < i\ (2\leq i\leq N)
  • 1AiN (1iN)-1\leq A_i\leq N\ (1\leq i\leq N)
  • 所有输入的数均为整数
  • 所有测试数据中 NN 的总和不超过 2×1032\times 10^3

样例解释 1

对于第 11 组测试数据,Alice 可以在顶点 22 上写 00,无论 Bob 如何操作,都有 f(2)=2f(2)=2,因此 Alice 获胜。对于第 22 组测试数据,Bob 可以通过合理选择写入的整数,使得不存在 f(v)=4f(v)=4 的顶点,因此 Bob 获胜。

由 ChatGPT 4.1 翻译