ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Сборники > Сборник > задача:


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

Задачи сборника

• Сумма максимального и минимального
• Сумма минимального и максималь...
• Сумма от 1 до N
• Сумма последовательности
• Сумма цифр числа
• Суммы в строках и столбцах
• Существует ли треугольник?
• Таблица умножения
• Топологическая сортировка
• Транспонирование матрицы - 1
• Трое в тире
• Трудовое соревнование
• Турнир по Hearthstone
• Увеличить на 20 процентов
• Угощение для гостей
• Умножение матриц
• Университетская задача

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Топологическая сортировка
Топологическая сортировка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Дан ориентированный простой граф, содержащий N вершин и M рёбер. Вершины графа нумеруются от 0 до N - 1.

Выполните топологическую сортировку вершин этого графа.

Входные данные

Первая строка содержит целые числа N и M (1 ≤ N ≤ 103, 0 ≤ M ≤ 104) — соответственно число вершин и рёбер графа.

Следующие M строк описывают рёбра графа и содержат пары целых чисел Ai, Bi (0 ≤ Ai, Bi ≤ N - 1) — номера начальной и конечной вершин i-го ребра.

Выходные данные

Выведите N целых чисел — номера вершин графа в порядке топологической сортировки. Если возможных ответов несколько, выведите любой.

Если граф не имеет топологической сортировки, выведите одно число -1.

Примеры

Входные данные
5 7
0 1
0 4
1 2
3 0
3 4
4 1
4 2
Выходные данные
3 0 4 1 2 
Входные данные
6 5
0 1
5 2
3 4
0 3
4 1
Выходные данные
0 5 3 4 1 2
Входные данные
3 3
0 1
1 2
2 0
Выходные данные
-1
Для отправки решений необходимо выполнить вход.

www.contester.ru