n вершинах (номера от 1 до n) хранится как набор направленных связей [u, v]: u — родитель v. У корня родителя нет, у каждой другой вершины ровно один родитель, и из корня можно дойти до любой вершины.
В список связей links по ошибке добавили одну лишнюю направленную связь между двумя разными вершинами, которой раньше не было. Теперь связей ровно n.
Найдите связь, после удаления которой снова получится дерево с корнем на всех n вершинах. Если таких связей несколько, верните ту, что стоит в links последней.links=[[2, 3], [1, 2], [3, 1], [2, 4]] → [3, 1]
У каждой вершины есть родитель, значит лишняя связь ведёт в корень и замыкает цикл 1 → 2 → 3 → 1. Убрать можно любую связь цикла; последняя из них в списке — [3, 1], и тогда корень — 1.
links=[[1, 2], [1, 3], [3, 4], [2, 4]] → [2, 4]
У вершины 4 два родителя. Убрать можно и [3, 4], и [2, 4] — берём ту, что позже в списке.
links=[[4, 2], [1, 4], [2, 3], [3, 4]] → [3, 4]
links — дерево с корнем плюс одна лишняя связьlinks=[[2, 3], [1, 2], [3, 1], [2, 4]]
[3, 1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 55 тестов на сервере, включая скрытые.