#dwacon2018prelimse. [dwacon2018_prelims_e]ニワンゴくんの家探し
[dwacon2018_prelims_e]ニワンゴくんの家探し
問題文
これはインタラクティブな問題です。
dwango社員のニワンゴくんは 頂点の木に住んでいます。 この木の頂点には から までの番号がついています。 この木の 番目の辺は頂点 と頂点 を双方向につなぐ長さ の辺です。 ニワンゴくんは どの頂点の次数も 以下である ことを知っています。
この木のいずれかの頂点にニワンゴくんの家がありますが、ニワンゴくんは家がどこにあるかを忘れてしまいました。
ニワンゴくんは自作のプログラムに最大で 回質問を行って、家のある頂点を特定したいです。 プログラムに つの頂点の番号 を渡すと、家のある頂点から近い方の頂点の番号が表示されます。 ただし、どちらの頂点も家のある頂点から同じ距離にある場合は 0
が表示されます。
制約
- 与えられるグラフは木
- どの頂点の次数も 以下
部分点
- どの頂点の次数も 以下であるようなデータセットに正解した場合、 点が与えられる。
入出力
最初に、標準入力から以下の形式で入力が与えられる:
その後、以下の形式で質問を出力せよ:
?
ここで、 は 以上 以下の整数でなくてはならない。 次に、質問の答えが標準入力から以下の形式で与えられる:
ここで、 は のいずれかである。 それぞれの値は以下のことを表す。
- : と のうち、家のある頂点に近いのは である
- : と のうち、家のある頂点に近いのは である
- : と は、家のある頂点から同じ距離にある
最後に、答えを以下の形式で出力せよ:
!
ここで は家のある頂点でなくてはならない。
ジャッジ
- **出力のあと、標準出力を flush せよ。**従わない場合
TLE
の可能性がある。 - 答えを出力した後、プログラムをすぐに終了せよ。従わない場合のジャッジの挙動は定義されていない。
- 出力の答えが間違っている場合の挙動は定義されていない(
WA
とは限らない)。
入出力例
これは以下のような木において、頂点 にニワンゴくんの家がある場合の入出力例です。
Input
Output
6 14
1 2
5 2
3 1
3 6
1 4
? 4 5
4
? 1 6
0
? 6 5
6
! 3
- 頂点 のうち、頂点 に近いのは頂点 なので が表示されます。
- 頂点 は頂点 から同じ距離にあるため、 が表示されます。
- 頂点 のうち、頂点 に近いのは頂点 なので が表示されます。
- 家がある頂点が だと回答しました。 回以下の質問で正しい答えを出力したため、正解となります。