#arc162c. [arc162_c]Mex Game on Tree

[arc162_c]Mex Game on Tree

問題文

頂点に 11 から NN の番号がついた NN 頂点の根付き木が与えられます。頂点 11 が根であり、頂点 i(2leqileqN)i\\ (2\\leq i \\leq N) の親は PiP_i です。

根付き木の何個かの頂点には 00 以上 NN 以下の整数が書かれています。この情報は数列 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 が先手で、全ての頂点に整数が書かれるまで以下の操作を交互に繰り返します。

  • 整数が書かれていない頂点を 11 個選び、 00 以上 NN 以下の整数を書く。

操作終了後の各頂点 vv に対して、 f(v)f(v) を「頂点 vv の部分木に含まれるどの頂点(vv 含む)にも書かれていないような最小の非負整数」と定めます。

f(v)=Kf(v) = K を満たす頂点 vv が存在する場合 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)
  • 入力される数値は全て整数
  • 11 つの入力に含まれるテストケースについて、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 行出力せよ。i(1leqileqT)i\\ (1\\leq i \\leq T) 行目には、 ii 番目のテストケースについて、両者が最適な行動を行う場合 Alice が勝つならば Alice を、Bob が勝つならば 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

11 番目のテストケースについては、Alice が頂点 2200 を書き込むと、Bob の操作に依らず f(2)=2f(2) = 2 となります。そのため、Alice は勝つことができます。

22 番目のテストケースについては、Bob が上手く書き込む整数を選ぶことで、 f(v)=4f(v) = 4 なる頂点が存在しないようにできます。