#T2106. 航班路线检查(Flight Routes Check)

航班路线检查(Flight Routes Check)

链接: https://cses.fi/problemset/task/1682

板块: Graph Algorithms

时限: 1.00 s | 内存: 512 MB

题目描述

nn 座城市和它们之间的 mm 个航班连接。你的任务是检查能否利用现有航班从任意一座城市到达任何其他城市。

输入

第一行输入包含两个整数 nnmm:城市数量和航班数。城市编号为 1,2,,n1,2,\dots,n

之后有 mm 行描述航班。每行包含两个整数 aabb:存在一条从城市 aa 到城市 bb 的航班。所有航班均为单向航班。

输出

如果所有路线都可行,输出 "YES",否则输出 "NO"。在后者情况下还需输出两座城市 aabb,使得你无法从城市 aa 到达城市 bb。如果有多个可能的解,你可以输出任意一个。

数据范围

1n1051 \le n \le 10^5 1m21051 \le m \le 2 \cdot 10^5 1a,bn1 \le a,b \le n

样例输入

4 5
1 2
2 3
3 1
1 4
3 4

样例输出

NO
4 2