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