有向环等价于拓扑排序排不完。用 Kahn:入度为 0 的算子入队,拿出一个点就把后继的入度减一,减到 0 再入队。
有 n 个算子,编号从 1 到 n。给定 m 条有向边,每条边 u v 表示 u 指向 v,也就是 v 依赖 u。
请判断这张有向图里有没有环。有环输出 1,没有环输出 0。
图可以不连通。u=v 时是自环,自环算有环。同一对 u v 可以出现多次,重边不改变有没有环。
第一行两个整数 n 和 m。
接下来 m 行,每行两个整数 u 和 v。
1≤n≤105
0≤m≤2×105
1≤u,v≤n
有环输出 1,无环输出 0。
输入
4 4
1 2
2 3
3 4
4 2
输出
1
说明
2 指向 3,3 指向 4,4 又指向 2,三个算子围成一个环。答案是 1。
输入
4 3
1 2
2 3
3 4
输出
0
说明
边只从编号小的算子指向编号大的算子,走不回已经经过的点。答案是 0。
输入
1 1
1 1
输出
1
说明
1 指向自己。自环就是有向环,答案是 1。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册