n компьютеров с номерами от 0 до n − 1. Список cables описывает проложенные кабели: пара [a, b] — кабель между компьютерами a и b. Два компьютера могут обмениваться данными, если между ними есть путь по кабелям — напрямую или через другие компьютеры.
За один ход можно выдернуть любой проложенный кабель и протянуть его между любыми двумя компьютерами, которые пока не соединены напрямую.
Верните наименьшее число ходов, после которого каждый компьютер сможет связаться с каждым. Если это невозможно, верните -1.n=5, cables=[[0, 1], [1, 2], [2, 0], [3, 4]] → 1
Компьютеры 0, 1, 2 связаны треугольником — один кабель в нём лишний. Переносим его так, чтобы он соединил, например, 2 и 3: сеть становится единой за один перенос.
n=5, cables=[[0, 1], [1, 2], [3, 4]] → -1
Чтобы связать 5 компьютеров, нужно хотя бы 4 кабеля, а их всего 3.
n=3, cables=[[0, 2], [2, 1]] → 0
n=5, cables=[[0, 1], [1, 2], [2, 0], [3, 4]]
1
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 88 тестов на сервере, включая скрытые.