eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Посадка травы

Посадка травы

Наступило время для фермера Джона сажать траву на всех своих полях. Вся ферма состоит из $n$ полей, пронумерованных от $1$ до $n$ и соединенных $n - 1$ двунаправленными дорогами таким образом, что с каждого поля можно достичь любое другое поле используя некоторый набор путей. Фермер Джон может сажать разные типы травы на каждом поле, однако он хочет свести к минимуму количество используемых видов травы в целом, поскольку чем больше видов травы он использует, тем больше затрат он несет. К сожалению, его коровы стали относиться к выбору травы на ферме довольно снобистски. Если один и тот же тип травы посажен на двух соседних полях (напрямую соединенных дорогой) или даже на двух почти соседних полях (которые напрямую связаны с общим полем дорогами), то коровы будут жаловаться на отсутствие разнообразия в их питательном рационе. Последнее что нужно фермеру Джону, так это жалобы от коров, учитывая, сколько вреда они, как известно, причиняют, будучи недовольны. Помогите фермеру Джону определить минимальное количество видов травы, которое ему нужно для всей фермы. \InputFile Первая строка содержит число $n~(1 \le n \le 10^5)$. Каждая из оставшихся $n − 1$ строк описывает дорогу и содержит два поля, которые она соединяет. \OutputFile Выведите минимальное количество видов травы, которое нужно использовать фермеру Джону. \Examples В приведенном примере имеется $4$ поля, все они линейно связаны. Требуется как минимум три типа травы. Например, фермер Джон может засеять поля травами типа $A, B$ и $C$ следующим образом: $A - B - C - A$. \includegraphics{https://static.e-olymp.com/content/73/73599f8b9623de96582c956791edb158f0eedbd5.gif}
Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
4
1 2
4 3
2 3
Выходные данные #1
3
Источник 2019 USACO Январь, Серебро