Задача №111540. Компоненты связности
Обходы, определение предков и потомков, поиск цикла, компоненты слабой и сильной связности, топологическая сортировка, определение двудольности графа, мосты и точки сочленения
Дан неориентированный невзвешенный граф. Необходимо посчитать количество его компонент связности и вывести их.
Входные данные
Во входном файле записано два числа \(N\) и \(M\) (0 < \(N\) ≤ 100000, 0 ≤ \(M\) ≤ 100000). В следующих \(M\) строках записаны по два числа \(i\) и \(j\) (1 ≤ \(i\), \(j\) ≤ \(N\)), которые означают, что вершины \(i\) и \(j\) соединены ребром.
Выходные данные
В первой строчке выходного файла выведите количество компонент связности. Далее выведите сами компоненты связности в следующем формате: в первой строке количество вершин в компоненте, во второй - сами вершины в произвольном порядке.
Примеры
Входные данные
6 4 3 1 1 2 5 4 2 3
Выходные данные
3 3 1 2 3 2 4 5 1 6
Сдать: для сдачи задач необходимо войти в систему