만드는 중입니다

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

수도관 게임

시간 제한1초메모리 제한1024 MB

요약
각 교차로에서 시작할 때 첫 번째 플레이어가 이기는지 판별합니다. 두 크루가 사용하지 않은 도로 구간을 따라 번갈아 이동하는 게임입니다.
난이도

어려움10점 중 8점

유형
게임 이론, 그래프, DFS
정답자
아직 제출이 없습니다

문제

Bajtazar와 Bajtoni의 배관 팀이 Bajtołów Dolny에 물을 공급하는 입찰에서 이겼다. 이 도시의 도로망은 nn개의 교차로와 mm개의 도로 구간으로 이루어져 있다. 어느 교차로에서든 도로망을 따라 다른 모든 교차로에 갈 수 있다. 각 도로 구간 아래에는 수도관을 묻어야 한다.

일을 재미있게 하려고 두 사람은 게임을 하기로 했다. 게임은 두 팀이 한 교차로에 선 채로 시작한다. 게임 내내 두 팀은 함께 움직인다. Bajtazar부터 번갈아 수를 둔다. 자기 차례에 플레이어는 두 팀이 있는 교차로에서 나가는 도로 구간 중 아직 수도관이 묻히지 않은 구간을 하나 고른다. 그 팀은 해당 구간 아래에 수도관을 묻고, 두 팀은 그 구간의 다른 쪽 끝 교차로로 이동한다.

수를 둘 수 없는 플레이어는 지고, 그 플레이어의 팀은 벌로 남은 모든 도로 구간 아래에 수도관을 묻어야 한다.

Bajtazar는 Bajtoni가 어떻게 두든 이길 수 있도록 게임을 어느 교차로에서 시작해야 하는지 알고 싶어 한다. 그런 교차로의 목록을 구하도록 도와달라.

이 도로망에는 특별한 성질이 있다. 어느 도로 구간의 한가운데에서 출발하든, 되돌아가지 않고 같은 교차로를 두 번 방문하지 않으면서 정확히 한 가지 방법으로 한 바퀴 돌아 출발점으로 돌아올 수 있다.

입력

첫 줄에는 공백으로 구분된 두 정수 nn과 mm이 주어진다. 이는 교차로의 수와 도로 구간의 수이다. 교차로는 1부터 nn까지 번호가 매겨져 있다. 이어지는 mm개의 줄에는 각각 공백으로 구분된 두 정수 aa, bb (1≤a,b≤n1 \le a, b \le n, a≠ba \ne b)가 주어지며, 이는 교차로 aa와 bb가 도로 구간으로 연결되어 있다는 뜻이다. 두 교차로를 잇는 도로 구간은 최대 하나뿐이라고 가정해도 된다.

출력

정확히 nn개의 줄을 출력한다. ii번째 줄에는 교차로 ii에서 게임을 시작했을 때 Bajtazar가 이길 수 있으면 1을, 그렇지 않으면 2를 쓴다.

제한

3≤n,m≤5000003 \le n, m \le 500000

예제1

  1. 예제 1

    입력
    6 7
    1 2
    2 3
    3 1
    3 4
    4 5
    5 6
    6 3
    
    예상 출력
    1
    1
    1
    2
    1
    2