Вступить в клуб →
средняяpythonГрафы и обходы

count_components: число компонент связности неориентированного графа

Напишите функцию count_components(n: int, edges: list[tuple[int, int]]) -> int.

Вход. n — количество вершин, пронумерованных от 0 до n - 1. edges — список неориентированных рёбер в виде пар (u, v).

Выход. Количество компонент связности (целое число).

Поведение на краевых входах.

  • n = 0 и пустой список рёбер — вернуть 0.
  • Рёбер нет, а вершин n — вернуть n (каждая вершина сама себе компонента).
  • Кратные рёбра допустимы: (0, 1) и (1, 0) вместе означают то же, что одно ребро.
  • Петля (u, u) допустима и на ответ не влияет.

Гарантируется, что все номера вершин в рёбрах лежат в диапазоне от 0 до n - 1.

заготовка решения

def count_components(n: int, edges: list[tuple[int, int]]) -> int:
    # ваш код
    pass

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела