n городов с номерами от 0 до n - 1, во втором — m городов от 0 до m - 1. Дороги каждого королевства образуют дерево: roads_a[i] = [a, b] — дорога между городами a и b первого королевства, roads_b[i] = [u, v] — второго.
Город y назовём удобным для города x, если путь от x до y проходит по чётному числу дорог. Сам город всегда удобен для себя.
Для каждого города i первого королевства разрешено построить один мост между любым городом первого королевства и любым городом второго. Верните массив answer длины n, где answer[i] — наибольшее число удобных для i городов в обоих королевствах вместе, если мост выбран лучшим образом. Для разных i мосты выбираются независимо: перед следующим вопросом мост убирают.roads_a=[[0, 1], [1, 2]], roads_b=[[0, 1], [0, 2], [0, 3]] → [5, 4, 5]
В первом королевстве из города 0 чётно достижимы 0 и 2, из города 1 — только сам 1. Во втором выгоднее всего соединиться с городом 0: тогда на чётном расстоянии окажутся его три соседа. Итог [5, 4, 5].
roads_a=[[0, 1]], roads_b=[[1, 0]] → [2, 2]
Каждый город первого королевства чётно достижим только из себя, во втором королевстве добавится ещё один город: [2, 2].
roads_a=[[0, 1], [0, 2], [2, 3], [3, 4]], roads_b=[[0, 1], [1, 2]] → [4, 5, 5, 4, 5]
len(roads_a) = n - 1, len(roads_b) = m - 1a, b < n; 0 ≤ u, v < mroads_a=[[0, 1], [1, 2]], roads_b=[[0, 1], [0, 2], [0, 3]]
[5, 4, 5]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 52 теста на сервере, включая скрытые.