해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
n개의 정점과 m개의 간선으로 이루어진 무방향 그래프가 주어진다. 그래프는 반드시 연결되어 있지는 않다. 그래프에는 다중 간선(한 쌍의 정점 사이에 둘 이상의 간선)이나 루프(한 정점에서 자기 자신으로 이어지는 간선)가 없음을 보장한다.
그래프의 사이클이 자신의 각 정점을 정확히 한 번씩 포함하면 단순 사이클이라고 한다. 따라서 단순 사이클에서는 한 사이클 안에서 어떤 정점을 두 번 이상 방문할 수 없다.
정확히 하나의 단순 사이클에 속하는 간선들을 구한다.
첫 번째 줄에 두 정수 n와 m가 주어진다(1 ≤ n ≤ 100 000, 0 ≤ m ≤ min(n ⋅ (n - 1) / 2, 100 000)). 이들은 각각 정점의 수와 간선의 수이다.
이어지는 m개의 각 줄에는 간선을 나타내는 두 정수 u와 v (1 ≤ u, v ≤ n, u ≠ v)가 주어진다.
첫 번째 줄에 정확히 하나의 단순 사이클에 속하는 간선의 수를 출력한다.
두 번째 줄에 정확히 하나의 단순 사이클에 속하는 간선의 인덱스를 오름차순으로 출력한다. 간선에는 입력으로 주어진 순서와 동일하게 하나부터 번호가 매겨진다.
6 7
2 3
3 4
4 2
1 2
1 5
5 6
6 1
6
1 2 3 5 6 7
3 3
1 2
2 3
3 1
3
1 2 3
5 6
1 2
2 3
2 4
4 3
2 5
5 3
0