Задачи
Поиск цикла
Поиск цикла
Дан ориентированный невзвешенный граф. Необходимо определить есть ли в нём циклы, и если есть, то вывести любой из них.
Входные данные
В первой строке находятся два натуральных числа n и m (1 ≤ n ≤ 10^5
, 1 ≤ m ≤ 10^5
) - количество вершин и ребер в графе соответственно. Далее в m строках перечислены рёбра графа. Каждое задаётся парой чисел - номерами начальной и конечной вершин соответственно.
Выходные данные
Если в графе нет цикла, то вывести "NO", иначе вывести "YES" и затем перечислить вершины в порядке обхода цикла.

Пример
Входные данные #1
2 2 1 2 2 1
Выходные данные #1
YES 1 2
Входные данные #2
6 7 1 2 1 5 2 3 2 4 4 6 6 5 5 2
Выходные данные #2
YES 2 4 6 5