Ctrl K

Группы связанных серверов

Средняя
В дата-центре n серверов, пронумерованных от 0 до n − 1. Матрица links размера n × n описывает кабели: links[i][j] = 1, если серверы i и j соединены напрямую, и 0 иначе. Соединение двустороннее, а каждый сервер считается связанным сам с собой. Серверы, между которыми есть путь по кабелям (напрямую или через другие серверы), попадают в одну группу. Верните число групп.
Пример 1
links=[[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [1, 0, 0, 1]] → 3

Серверы 0 и 3 связаны кабелем и образуют одну группу, серверы 1 и 2 стоят отдельно. Всего три группы.

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

Сервер 0 напрямую не связан с сервером 2, но оба связаны с сервером 1, поэтому вся сеть — одна группа.

Пример 3
links=[[1]] → 1
Ограничения
  • 1 ≤ n ≤ 200
  • links — квадратная матрица n × n из 0 и 1
  • links[i][i] = 1
  • links[i][j] = links[j][i]
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСкладываются ли связи в дерево СредняяСколько изолированных групп в сети СредняяЦепочки отношений СредняяЛишний кабель СредняяРазбить на две команды Средняя
загружаем Python…
Вход
links=[[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [1, 0, 0, 1]]
Ожидается
3

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