Все пути к финишу

ID задачи: all_ways, лимит времени: 2000 мс, лимит памяти: 256 МБ

Дан ориентированный граф из $N$ вершин и $M$ ребер. В графе могут быть петли и кратные ребра. Требуется определить, можно ли из каждой вершины добраться до вершины $N$.

Формат входных данных:
В первой строке записаны два целых числа $N$ и $M$ — количество вершин и ребер в графе.
В следующих $M$ строках записаны ребра графа: по два числа $u$ и $v$, обозначающие ребро из вершины $u$ в вершину $v$.
Вершины графа пронумерованы от $1$ до $N$.

Формат выходных данных:
Выведите `YES`, если из каждой вершины можно добраться до вершины `N`, и `NO` в противном случае.

Ограничения:
- $1 <= N <= 2 * 10^5$
- `0 <= M <= 2 * 10^5`

Первые 3 теста

# Описание Вход Выход
1 Пример с петлей в финише
4 5
1 2
2 4
1 3
3 4
4 4
YES
2 Пример с недостижимой вершиной
4 2
1 2
2 4
NO
3 Пример с циклом перед финишем
5 5
1 2
2 5
3 2
4 3
2 1
YES

Запуск решения