100 atcoder#ABC148F. [ABC148F] Playing Tag on Tree

[ABC148F] Playing Tag on Tree

配点 : 600600

問題文

NN 頂点の木があります。ii 番目の辺は頂点 AiA_iBiB_i を双方向に結んでいます。

この木の頂点 uu に高橋君が、頂点 vv に青木君がいます。

22 人は次のような手順で鬼ごっこをします。

  • 11. 高橋君と青木君が同じ頂点にいるときゲームを終了する。そうでないとき、高橋君は隣接する頂点を 11 つ選んでその頂点に移動する。
  • 22. 高橋君と青木君が同じ頂点にいるときゲームを終了する。そうでないとき、青木君は隣接する頂点を 11 つ選んでその頂点に移動する。
  • 33. 11 に戻る。

高橋君はできるだけ遅くゲームが終了するように移動し、青木君はできるだけ早くゲームが終了するように移動します。

高橋君と青木君が常に互いの位置と戦略を把握し最適に移動するとき、ゲームが終了するまでに青木君が移動する回数を求めてください。

なお、ゲームは必ず終了することが証明できます。

制約

  • 2N1052 \leq N \leq 10^5
  • 1u,vN1 \leq u,v \leq N
  • uvu \neq v
  • 1Ai,BiN1 \leq A_i,B_i \leq N
  • 与えられるグラフは木である

入力

入力は以下の形式で標準入力から与えられる。

NN uu vv

A1A_1 B1B_1

::

AN1A_{N-1} BN1B_{N-1}

出力

ゲームが終了するまでに青木君が移動する回数を出力せよ。

5 4 1
1 2
2 3
3 4
3 5
2

互いに最適に移動した場合、ゲームは次のように進行します。

  • 高橋君が頂点 33 に移動
  • 青木君が頂点 22 に移動
  • 高橋君が頂点 55 に移動
  • 青木君が頂点 33 に移動
  • 高橋君が頂点 33 に移動

このとき、ゲームが終了するまでの青木君の移動回数は 22 回です。

各手番で同じ頂点にとどまることは出来ないことに注意してください。

5 4 5
1 2
1 3
1 4
1 5
1
2 1 2
1 2
0
9 6 1
1 2
2 3
3 4
4 5
5 6
4 7
7 8
8 9
5