atcoder#AGC033C. [AGC033C] Removing Coins
[AGC033C] Removing Coins
配点 : 点
問題文
高橋君と青木君は木を用いてゲームをすることにしました。 ゲームに用いる木は 頂点からなり、各頂点には から の番号が割り振られています。 また、 本の辺のうち、 本目の辺は頂点 と頂点 を結んでいます。
ゲーム開始時、各頂点にはコインが一枚ずつ置いてあります。 高橋君と青木君は高橋君から始めて以下の操作を交互に行い、操作を行えなくなった方が負けになります。
- コインが置いてある頂点を一つ選び、その頂点 に置いてあるコインをすべて取り除く。
- その後、木上に残っているコインをすべて、今置いてある頂点に隣接する頂点のうち に一番近い頂点に移動させる。
つまり、木上にコインが残っていない状態で手番となった人の負けです。 二人が最適に行動したとき、どちらが勝つか求めてください。
制約
- 入力で与えられるグラフは木である。
入力
入力は以下の形式で標準入力から与えられる。
:
出力
先手の高橋君が勝つなら First
を、後手の青木君が勝つなら Second
を出力せよ。
3
1 2
2 3
First
ゲームは例えば以下のように進行します。
- 高橋君が頂点 からコインを取り除く。操作後は、頂点 に一つ、頂点 に一つコインがある。
- 青木君が頂点 からコインを取り除く。操作後は、頂点 に一つコインがある。
- 高橋君が頂点 からコインを取り除く。操作後は、木上にコインは残っていない。
- 青木君は木上にコインがない状態で手番となってしまったので、負けとなる。
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