#arc162c. [arc162_c]Mex Game on Tree

[arc162_c]Mex Game on Tree

题目描述

给定一个根节点为1的有 NN 个顶点的树。顶点 11 是根,顶点 i(2leqileqN)i\\ (2\\leq i \\leq N) 的父亲是 PiP_i

有些树的顶点上有非负整数,整数大小在 00NN 之间。通过序列 A=(A1,A2,ldots,AN)A=(A_1,A_2,\\ldots,A_N) 给出这些信息。如果 Aineq1A_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 组测试用例,请分别回答每个测试用例。

约束条件

  • 1leqTleq1031 \\leq T \\leq 10^3
  • 2leqNleq1032 \\leq N \\leq 10^3
  • 0leqKleqN0 \\leq K \\leq N
  • 1leqPi<i(2leqileqN)1 \\leq P_i < i\\ (2\\leq i\\leq N)
  • \-1leqAileqN(1leqileqN)\-1 \\leq A_i \\leq N\\ (1\\leq i\\leq N)
  • 所有输入值都是整数。
  • 在单个输入中,所有测试用例中 NN 的总和至多为 2times1032\\times 10^3

输入

从标准输入读取输入,其格式如下:

TT mathrmcase1\\mathrm{case}_1 vdots\\vdots mathrmcaseT\\mathrm{case}_T

每个测试用例的格式如下:

NN KK P2P_2 P3P_3 ldots\\ldots PNP_N A1A_1 A2A_2 ldots\\ldots ANA_N

输出

输出 TT 行。第 ii(1leqileqT)(1\\leq i \\leq T) 应打印出 Alice,如果 Alice 在第 ii 个测试用例中采取最优策略时获胜;否则,打印 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

示例输出 1

Alice
Bob

在第一个测试用例中,如果 Alice 在顶点 22 上写下 00,无论 Bob 采取什么操作,都有 f(2)=2f(2) = 2。因此,Alice 可以获胜。

在第二个测试用例中,Bob 可以通过选择正确的整数来确保不存在 f(v)=4f(v) = 4 的顶点。