만드는 중입니다

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

소들의 모임

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

요약
N마리 소의 친구 관계가 트리를 이루고 M개의 선후 조건이 주어질 때, 각 소가 마지막으로 떠날 수 있는지 판별합니다.
난이도

보통10점 중 7점

유형
트리, 그래프, 위상 정렬, 누적 합
정답자
아직 제출이 없습니다

문제

소 NN마리가 있고, 서로 친구인 소 쌍은 N−1N-1개이다. 모든 소는 친구 관계를 거쳐 다른 모든 소와 연결되어 있다.

모임은 즐거웠지만, 이제 소들이 한 마리씩 떠날 때가 되었다. 소들은 남은 소가 두 마리 이상인 동안 남아 있는 모든 소에게 남아 있는 친구가 한 명 이상 있도록 떠나는 순서를 정하려고 한다. 또한 짐 보관 문제로 인해 소 aia_i가 소 bib_i보다 먼저 떠나야 하는 쌍 (ai,bi)(a_i, b_i)가 MM개 있다. 소 aia_i와 bib_i는 친구일 수도 있고 아닐 수도 있다.

각 소에 대해, 그 소가 마지막으로 떠날 수 있는지 알아내라. 위의 조건을 모두 만족하는 떠나는 순서가 없을 수도 있다.

입력

첫째 줄에 두 정수 NN과 MM이 공백으로 구분되어 주어진다.

2≤i≤N2 ≤ i ≤ N인 각 줄에는 두 정수 xix_i와 yiy_i가 주어진다. 1≤xi,yi≤N1 ≤ x_i, y_i ≤ N이고 xi≠yix_i ≠ y_i이며, 소 xix_i와 yiy_i가 친구라는 뜻이다.

N+1≤i≤N+MN+1 ≤ i ≤ N+M인 각 줄에는 두 정수 aia_i와 bib_i가 주어진다. 1≤ai,bi≤N1 ≤ a_i, b_i ≤ N이고 ai≠bia_i ≠ b_i이며, 소 aia_i가 모임을 떠나기 전에 소 bib_i가 먼저 떠나면 안 된다는 뜻이다. 즉 소 aia_i가 소 bib_i보다 먼저 떠나야 한다.

1≤N,M≤1051 ≤ N, M ≤ 10^5이 보장된다. 배점의 20%에 해당하는 테스트 케이스에서는 N,M≤3000N, M ≤ 3000이 추가로 보장된다.

출력

NN개의 줄을 출력한다. 각 줄에는 정수 did_i를 하나씩 출력한다. 소 ii가 마지막으로 떠날 수 있으면 di=1d_i = 1, 그렇지 않으면 di=0d_i = 0이다.

예제1

  1. 예제 1

    입력
    5 1
    1 2
    2 3
    3 4
    4 5
    2 4
    
    예상 출력
    0
    0
    1
    1
    1