만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

두 정점 삭제 다시

시간 제한6초메모리 제한512 MB

요약
연결된 그래프에서 간선마다 두 끝점을 모두 지웠을 때 나머지 그래프가 연결되어 있는지 판정하여 이진 문자열로 출력합니다.
난이도

어려움10점 중 8점

유형
DFS, 그래프, 트리
정답자
아직 제출이 없습니다

문제

몇 년 전 같은 저자가 학교 대회에 다음 문제를 냈다. 최소 차수가 22 이상인 연결된 무방향 그래프에서 인접한 두 정점을 삭제하되, 연결성은 유지하는 문제였다. 그 문제는 2020년 학생 대회에는 너무 쉬워서, 이번에는 더 어려운 문제를 준비했다.

정점이 33개 이상인 연결된 무방향 그래프가 주어진다. 자기 루프와 다중 간선은 없다. 각 간선에 대해, 그 간선의 두 끝점을 모두 삭제했을 때 그래프가 연결된 상태를 유지하는지 판단하라.

그래프는 차수가 11인 정점을 포함할 수 있다. 하지만 연결되어 있고 정점이 33개 이상이므로 차수가 00인 정점은 없다.

입력

첫 줄에 정점 수 nn과 간선 수 mm이 주어진다 (3≤n≤3⋅1053 \leq n \leq 3 \cdot 10^5, n−1≤m≤3⋅105n - 1 \leq m \leq 3 \cdot 10^5). 이어지는 mm개의 줄에서 ii번째 줄에는 ii번째 간선의 두 끝점 xx와 yy가 공백으로 구분되어 주어진다 (1≤x,y≤n1 \leq x, y \leq n, x≠yx \neq y). 그래프는 연결되어 있고 다중 간선이 없다.

출력

길이가 mm인 이진 문자열을 출력한다. ii번째 문자는 ii번째 간선의 두 끝점을 삭제했을 때 그래프가 끊어지면 "0", 그렇지 않으면 "1"이다.

힌트

간선만 지워지는 것이 아니라 두 끝점이 모두 삭제된다는 점에 주의하라. 따라서 이 문제는 다리(bridge)를 찾는 문제와 다르다.

예를 들어 예제에서 간선 11-22는 다리가 아니다. 하지만 정점 11과 22를 삭제하면 그래프가 끊어진다. 남은 정점은 고립된 33과 44뿐이기 때문이다. 반대로 간선 11-44는 다리이지만, 정점 11과 44를 삭제하면 그래프는 연결된 상태를 유지한다. 남은 정점 22와 33이 간선 22-33으로 이어져 있기 때문이다.

예제1

  1. 예제 1

    입력
    4 4
    1 2
    2 3
    3 1
    4 1
    
    예상 출력
    0101