atcoder#AGC033C. [AGC033C] Removing Coins

[AGC033C] Removing Coins

配点 : 800800

問題文

高橋君と青木君は木を用いてゲームをすることにしました。 ゲームに用いる木は NN 頂点からなり、各頂点には 11 から NN の番号が割り振られています。 また、N1N-1 本の辺のうち、 ii 本目の辺は頂点 aia_i と頂点 bib_i を結んでいます。

ゲーム開始時、各頂点にはコインが一枚ずつ置いてあります。 高橋君と青木君は高橋君から始めて以下の操作を交互に行い、操作を行えなくなった方が負けになります。

  • コインが置いてある頂点を一つ選び、その頂点 vv に置いてあるコインをすべて取り除く。
  • その後、木上に残っているコインをすべて、今置いてある頂点に隣接する頂点のうち vv に一番近い頂点に移動させる。

つまり、木上にコインが残っていない状態で手番となった人の負けです。 二人が最適に行動したとき、どちらが勝つか求めてください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1ai,biN1 \leq a_i, b_i \leq N
  • aibia_i \neq b_i
  • 入力で与えられるグラフは木である。

入力

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

NN

a1a_1 b1b_1

a2a_2 b2b_2

:

aN1a_{N-1} bN1b_{N-1}

出力

先手の高橋君が勝つなら First を、後手の青木君が勝つなら Second を出力せよ。

3
1 2
2 3
First

ゲームは例えば以下のように進行します。

  • 高橋君が頂点 11 からコインを取り除く。操作後は、頂点 11 に一つ、頂点 22 に一つコインがある。
  • 青木君が頂点 22 からコインを取り除く。操作後は、頂点 22 に一つコインがある。
  • 高橋君が頂点 22 からコインを取り除く。操作後は、木上にコインは残っていない。
  • 青木君は木上にコインがない状態で手番となってしまったので、負けとなる。
6
1 2
2 3
2 4
4 6
5 6
Second
7
1 7
7 4
3 4
7 5
6 3
2 1
First