AT274の技術だったりなかったり

あっとのTECH LOG

競プロのこととか技術のこととか。たまに日常を書きます。

ABC019 D - 高橋くんと木の直径

問題原文

atcoder.jp

解法

 1 \leq N \leq 50 で、質問は100回まで。

 N 回の質問で葉を見つけ、  N 回の質問で木の直径を求めればよい。
普通に木の直径を求めるだけ。

実装

まぁ普通に。

N = int(input())

max_dist = 0
leaf = -1

for n in range(1, N + 1):
    print("? 1 {}".format(n))
    dist = int(input())
    if dist > max_dist:
        max_dist = dist
        leaf = n

max_dist = 0
for n in range(1, N + 1):
    print("? {} {}".format(leaf, n))
    dist = int(input())
    max_dist = max(max_dist, dist)

print("! {}".format(max_dist))

感想

推定水diffらしい。
実際の難しさに対してdiffが高く感じるのはインタラクティブだからかな?