#P9158. 有向图环检测(Cycle Detection (Directed))
有向图环检测(Cycle Detection (Directed))

有向图环检测(Cycle Detection (Directed))
问题描述
给你一个含 个顶点、 条边的有向图。第 条边从顶点 指向顶点 。
请找出一个边不相交的环(edge-disjoint cycle),并输出该环;若不存在任何环,输出 -1(要换行)。
注:题目要求“edge-disjoint cycle”但仅需输出一个环,且说明“若有多个,任选其一”,因此此处“edge-disjoint”应理解为单个环内部边互不重复(即简单环),而非多个环之间边不相交。标准解释为:输出任意一个简单有向环即可。
约束条件
输入格式
:
输出格式
- 若无环:
-1 - 否则:
:
其中:
- 是环中边的数量;
- 是环中第 条边的编号(-based),满足 构成一个有向环(即 ,下标模 )。
5 7
0 3
0 4
4 2
4 3
4 0
2 1
1 0
4
1
2
5
6
For instance, , is also a valid answer.
2 1
1 0
-1
4 6
0 1
1 2
2 0
0 1
1 3
3 0
3
0
1
2
Any edge-disjoint cycles (so it satisfies the rule: ) can get accepted, so , is also a valid answer. Note that , is not a valid answer.