Codeforces Round 547 (Div. 3) |
---|
Закончено |
Древляндия состоит из $$$n$$$ городов и $$$n-1$$$ дороги. Все дороги являются двусторонними и соединяют пару различных городов. Из любого города по дорогам можно добраться до любого другого. Всё верно, топология страны — это именно неориентированное дерево.
В Древляндии есть несколько частных дорожных компаний. Правительство решило передать дороги в собственность компаний. После приватизации каждая дорога будет принадлежать какой-то одной компании, одна компания может владеть несколькими дорогами.
Правительство обеспокоено возможными обвинениями в пристрастности. В правительстве полагают, что люди города могут посчитать несправедливой ситуацию, если две или более дороги, входящие в этот город, принадлежат одной компании. Правительство планирует такую приватизацию, что количество таких городов не будет превосходить $$$k$$$, а количество частных компаний (которые участвуют в приватизации) — минимально.
Выберите такое минимальное количество компаний $$$r$$$, что возможно распределить все дороги по этим компаниям так, что количество городов с двумя или более дорогами одной компании не превосходит $$$k$$$. Другими словами, назовём город хорошим, если все его дороги принадлежат различным компаниям. Ваша задача найти минимальное $$$r$$$, что существует распределение всех дорог по компаниям от $$$1$$$ до $$$r$$$, что количество не являющимися хорошими городов не превосходит $$$k$$$.
В первой строке записаны два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 200000, 0 \le k \le n - 1$$$) — количество городов и максимальное возможное количество городов с двумя или более дорогами одной компании.
Следующие $$$n-1$$$ строк содержат описания дорог, по одному описанию в строке. Каждая строка содержит пару целых чисел $$$x_i$$$, $$$y_i$$$ ($$$1 \le x_i, y_i \le n$$$), где $$$x_i$$$, $$$y_i$$$ — номера городов, которые соединены $$$i$$$-й дорогой.
В первую строку выведите искомое число $$$r$$$ ($$$1 \le r \le n - 1$$$). Во вторую строку выведите $$$n-1$$$ целое число $$$c_1, c_2, \dots, c_{n-1}$$$ ($$$1 \le c_i \le r$$$), где $$$c_i$$$ — это номер компании, которая должна владеть $$$i$$$-й дорогой. Если ответов несколько, то выведите любой из них.
6 2 1 4 4 3 3 5 3 6 5 2
2 1 2 1 1 2
4 2 3 1 1 4 1 2
1 1 1 1
10 2 10 3 1 2 1 3 1 4 2 5 2 6 2 7 3 8 3 9
3 1 1 2 3 2 3 1 3 1
Название |
---|