ABC019 D - 高橋くんと木の直径
問題原文
解法
で、質問は100回まで。
回の質問で葉を見つけ、 回の質問で木の直径を求めればよい。
普通に木の直径を求めるだけ。
実装
まぁ普通に。
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が高く感じるのはインタラクティブだからかな?