Ctrl K

Складываются ли связи в дерево

Средняя
Есть node_count узлов с номерами от 0 до node_count - 1 и список неориентированных связей links, где links[i] = [a, b] соединяет узлы a и b. Верните True, если эти связи образуют дерево — из любого узла можно дойти до любого другого, и при этом нет ни одного цикла. Иначе верните False.
Пример 1
node_count=4, links=[[0, 1], [1, 2], [1, 3]] → True

Узел 1 связан со всеми остальными, все узлы достижимы и циклов нет — это дерево.

Пример 2
node_count=4, links=[[0, 1], [2, 3]] → False

Получились две отдельные части: из 0 не попасть в 2.

Пример 3
node_count=3, links=[[0, 1], [1, 2], [2, 0]] → False

Все узлы связаны, но три связи образуют цикл.

Ограничения
  • 1 ≤ node_count ≤ 2000
  • 0 ≤ len(links) ≤ 5000
  • links[i] = [a, b], 0 ≤ a, b < node_count, a ≠ b
  • Одна и та же пара узлов связана не больше одного раза
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько изолированных групп в сети СредняяЦепочки отношений СредняяГруппы связанных серверов СредняяЛишний кабель СредняяРазбить на две команды Средняя
загружаем Python…
Вход
node_count=4, links=[[0, 1], [1, 2], [1, 3]]
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 87 тестов на сервере, включая скрытые.