C. Где сортировка сломалась
2000 мс · 256 МБ · всё или ничего
Как классная задача C, но полезнее: если перестановка не является топологической сортировкой, укажите номер первого по вводу ребра, которое ей противоречит.
Считать по-прежнему нужно только позиции вершин в перестановке, а потом просмотреть рёбра по порядку и остановиться на первом, у которого начало стоит не раньше конца.
Обратите внимание на петлю: ребро противоречит любой перестановке, потому что вершина не может стоять раньше самой себя.
Формат ввода
Первая строка содержит числа и ().
Далее идут строк с рёбрами. В последней строке — перестановка из чисел.
Формат вывода
Число , если перестановка — топологическая сортировка, иначе номер первого нарушенного ребра.
Примеры
ввод
3 3 2 3 1 3 1 2 2 1 3
вывод
3
ввод
3 3 3 2 1 2 3 1 3 1 2
вывод
0
Войдите, чтобы отправлять решения.