O. Диаметр дерева
3000 мс · 256 МБ · всё или ничего
Дано дерево. Найдите его диаметр — наибольшее расстояние между парой вершин.
Перебирать пары нельзя. Работает такой приём: запустить обход из любой вершины и найти самую далёкую, затем запустить обход из неё — самое большое расстояние во втором обходе и есть диаметр.
Два обхода вместо перебора пар — и это единственный способ уложиться при ста тысячах вершин.
Формат ввода
Первая строка содержит число ().
Далее идут строк с рёбрами дерева.
Формат вывода
Одно число — диаметр дерева.
Примеры
ввод
4 1 2 2 3 3 4
вывод
3
ввод
5 1 2 1 3 1 4 1 5
вывод
2
Войдите, чтобы отправлять решения.