eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Компоненты связности - 2

Компоненты связности - 2

Дан неориентированный невзвешенный граф. Необходимо посчитать количество его компонент связности и вывести их. \InputFile Во входном файле записано два числа \textbf{N} и \textbf{M} (\textbf{0} < \textbf{N} ≤ \textbf{100000}, \textbf{0} ≤ \textbf{M} ≤ \textbf{100000}). В следующих \textbf{M} строках записаны по два числа \textbf{i} и \textbf{j} (\textbf{1} ≤ \textbf{i}, \textbf{j} ≤ \textbf{N}), которые означают, что рёбра \textbf{i} и \textbf{j} соединены ребром. \OutputFile В первой строке выходного файла выведите количество компонент связности. Далее выведите сами компоненты связности в следующем формате: в первой строке количество вершин в компоненте, во второй - сами вершины в произвольном порядке.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
6 4
3 1
1 2
5 4
2 3
Выходные данные #1
3
3
1 2 3 
2
4 5 
1
6