Все пути к финишу
Дан ориентированный граф из $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`
Формат входных данных:
В первой строке записаны два целых числа $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 |