n узлов с номерами от 0 до n - 1, во втором — m узлов с номерами от 0 до m - 1. Рёбра заданы массивами first_edges (длины n - 1) и second_edges (длины m - 1), где каждая пара [a, b] — ребро между узлами a и b соответствующего дерева. Ещё дано число limit.
Узел v *в зоне охвата* узла u, если путь от u до v содержит не больше limit рёбер. Любой узел в зоне охвата самого себя.
Для каждого узла i первого дерева разрешено провести одно ребро между любым узлом первого дерева и любым узлом второго. Посчитайте, сколько узлов (в обоих деревьях вместе) может оказаться в зоне охвата узла i при наилучшем выборе этого ребра.
Верните массив из n чисел — ответ для каждого узла первого дерева. Запросы независимы: для каждого i ребро выбирается заново.first_edges=[[0, 1], [1, 2]], second_edges=[[0, 1], [0, 2]], limit=1 → [3, 4, 3]
В первом дереве (цепочка 0–1–2) в пределах одного ребра от узла 0 — узлы 0 и 1, от узла 1 — все три, от узла 2 — узлы 1 и 2. Новое ребро само занимает весь запас в 1 шаг, поэтому из второго дерева достаётся ровно один узел — тот, к которому подключились. Ответ [3, 4, 3].
first_edges=[[0, 1], [1, 2]], second_edges=[[0, 1], [0, 2]], limit=0 → [1, 1, 1]
При limit = 0 каждый узел видит только себя: второе дерево недостижимо.
first_edges=[[0, 1], [1, 2]], second_edges=[[0, 1], [0, 2]], limit=1
[3, 4, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 60 тестов на сервере, включая скрытые.