Точки сочленения
Дан неориентированный граф. Требуется найти все точки сочленения в нём.
Входные данные
Первая строка входного файла содержит два натуральных числа \(n\) и \(m\) — количества вершин и рёбер графа соответственно (\(1 \le n \le 20\,000\), \(1 \le m \le 200\,000\)).
Следующие \(m\) строк содержат описание рёбер по одному на строке. Ребро номер \(i\) описывается двумя натуральными числами \(b_i\), \(e_i\) — номерами концов ребра (\(1 \le b_i, e_i \le n\)).
Выходные данные
Первая строка выходного файла должна содержать одно натуральное число \(b\) — количество точек сочленения в заданном графе. На следующей строке выведите \(b\) целых чисел — номера вершин, которые являются точками сочленения, в возрастающем порядке.
Примеры
Входные данные
9 12 1 2 2 3 4 5 2 6 2 7 8 9 1 3 1 4 1 5 6 7 3 8 3 9
Выходные данные
3 1 2 3
algoprog.ru © Петр Калинин, GNU AGPL, github.com/petr-kalinin/algoprog | О лицензии на материалы сайта | Блог