Олимпиадный тренинг

Задача . Топологическая сортировка


Задача

Темы: Обход в глубину
Дан ориентированный невзвешенный граф. Необходимо его топологически отсортировать.

Входные данные: В первой строке содержатся два натуральных числа n и m (1≤n≤105, 1≤m≤105) — количество вершин и рёбер в графе соответственно. Далее в m строках перечислены рёбра графа. Каждое ребро задаётся парой чисел — номерами начальной и конечной вершин соответственно (нумерация вершин начинается с 1).
 
Выходные данные: Вывести любую топологическую сортировку графа в виде последовательности номеров вершин. Если граф невозможно топологически отсортировать, требуется вывести −1.
 

Примеры
Входные данные Выходные данные
1 4 4
1 4
4 3
4 2
3 2
1 4 3 2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Java1
Python247
С++ Mingw-w64206
Комментарий учителя