시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB93403443.590%

문제

라이트온은 블롭들이 사는 Light 왕국의 왕이다.

Light 왕국은 $N$개의 섬과 $M$개의 다리로 이루어져 있다. 각각의 섬에는 $1$부터 $N$까지의 번호가 하나씩 붙어 있고, 각각의 다리에도 $1$부터 $M$까지의 번호가 하나씩 붙어 있다.

하지만, 이 왕국은 전쟁을 좋아하는 Conflict 왕국의 공격을 받고 있다.

Conflict 왕국의 공격이 Light 왕국에 주는 피해는 다음과 같다.

  • Conflict 왕국은 Light 왕국의 섬 중 다리가 둘 이상 연결된 섬 하나를 골라 그 섬과 연결되어 있는 임의의 두 다리를 아주 두꺼운 레이저로 파괴한다.

한편, 신성한 침묵을 통해 역사를 배운 Harmony 왕국의 왕 정후는 Light 왕국의 다리가 하나밖에 남지 않았고, 그곳에 라이트온과 다른 블롭들이 있다는 사실을 알게 되었다.

img

정후는 Light 왕국을 도와주기 위해 블롭들이 Harmony 왕국으로 탈출할 수 있는 포탈을 설치하려고 한다. 그는 Light 왕국의 구조를 알고 있지만, 마지막으로 남은 다리가 무엇인지는 모른다. 정후는 자신의 부하에게 Light 왕국으로 가서 마지막으로 남은 다리가 무엇인지 알아 오라고 했지만, 시간이 많지 않아서 이론적으로 마지막 다리가 될 수 있는 곳만 탐색하려고 한다.

당신은 프로그래밍을 잘하는 정후의 부하이고, Light 왕국의 구조를 입력받아 마지막 다리가 될 수 있는 곳을 모두 출력하는 프로그램을 만들어야 한다.

불쌍한 라이트온을 도와주자!

입력

첫째 줄에 Light 왕국의 섬의 개수 $N$과 다리의 개수 $M$이 주어진다.

둘째 줄부터 $M$개의 줄에 걸쳐 $i$번 다리가 연결하는 두 섬의 번호 $u_i$, $v_i$가 공백으로 구분되어 주어진다.

출력

첫째 줄에 마지막에 남을 수 있는 다리의 개수를 출력한다.

마지막에 남을 수 있는 다리가 있다면, 둘째 줄에 마지막에 남을 수 있는 다리의 번호를 공백으로 구분하여 오름차순으로 출력한다.

제한

  • $2 \le N \le 3 \times 10^5$
  • $N - 1 \le M \le \min(3 \times 10^5, \frac{N(N-1)}{2})$
  • $1 \le u_i, v_i \le N$, $u_i \ne v_i$ ($1 \le i \le N$)
  • 임의의 두 섬을 직접 연결하는 다리는 최대 한 개이며, 어떤 섬에서 다리를 통해 모든 섬으로 이동할 수 있다.

예제 입력 1

3 3
1 2
2 3
3 1

예제 출력 1

3
1 2 3

모든 다리가 마지막 다리가 될 수 있다.

출처

Contest > BOJ User Contest > 블롭컵 > 제1회 블롭컵 G번