- Описание
- Отправленные решения
7. Поиск в глубину
- лёгкая
- dfs
Дан неориентированный граф, возможно, с петлями и кратными ребрами. Необходимо построить компоненту связности, содержащую вершину с номером 1.
Напомним:
Петля в графе - это ребро, которое соединяет вершину с самой собой.
Кратные рёбра в графе - это ребра, которые соединяют одну и ту же пару вершин.
Компонента связности в неориентированном графе - это подмножество вершин, таких что все вершины достижимы друг из друга.
Формат ввода
В первой строке записаны два целых числа $N$ ($1 \leq N \leq 10^3$) и $M$ ($0 \leq M \leq 5 * 10^5$) — количество вершин и ребер в графе. В последующих $M$ строках перечислены ребра — пары чисел, определяющие номера вершин, которые соединяют ребра. Далее может идти произвольное количество пустых строк.
Формат вывода
В первую строку выходного файла выведите число $K$ — количество вершин в компоненте связности. Во вторую строку выведите $K$ целых чисел — вершины компоненты связности, перечисленные в порядке возрастания номеров.
Пример 1
4 5
2 2
3 4
2 3
1 3
2 4
4
1 2 3 4
Нужно войти в систему / зарегистрироваться, чтобы отправить решение.