만드는 중입니다

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

Delegation (Gold)

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

요약
트리의 간선을 각각 정확히 K개의 간선으로 이루어진 경로들로 나눌 수 있는지 1부터 N-1까지의 K마다 판단합니다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, 분할 정복, 정수론
정답자
아직 제출이 없습니다

문제

Farmer John의 농장은 NN개의 목초지(2≤N≤1052 \leq N \leq 10^5)가 N−1N-1개의 도로로 이어져 있어서, 어느 목초지에서든 다른 모든 목초지로 갈 수 있다. 즉 이 농장은 트리다. FJ는 28년 동안 트리에서 생기는 까다로운 알고리즘 문제를 다뤄 왔는데, 트리 모양의 농장은 너무 복잡하다고 판단했다. 그는 알고리즘 문제가 경로 위에서는 더 단순하다고 믿는다.

그래서 도로 집합을 여러 개의 경로로 나누고, 각 경로를 일꾼 한 명에게 맡기려 한다. 일꾼들 사이의 다툼을 막으려고 모든 경로의 길이가 같아야 한다. 어떤 길이에 대해 이런 분할이 가능할까?

각 1≤K≤N−11 \leq K \leq N-1에 대해, 도로를 길이가 정확히 KK인 경로들로 나눌 수 있는지 판정하라.

입력

첫 줄에 정수 NN이 주어진다. 이어지는 N−1N-1개의 줄에는 목초지 aa와 bb를 잇는 간선을 나타내는 정수 aa, bb가 주어진다. aa와 bb는 모두 11 이상 NN 이하이다.

출력

길이가 N−1N-1인 비트열을 출력한다. 왼쪽에서 KK번째 비트는 도로를 길이가 정확히 KK인 경로로 나눌 수 있으면 1, 없으면 0이다.

힌트

이 트리는 K=1,2,3K=1,2,3일 때 길이 KK인 경로로 나눌 수 있다. K=3K=3일 때 가능한 경로 분할은 13-12-11-8, 10-9-8-6, 7-6-2-3, 5-4-2-1 이다.

예제1

  1. 예제 1

    입력
    13
    1 2
    2 3
    2 4
    4 5
    2 6
    6 7
    6 8
    8 9
    9 10
    8 11
    11 12
    12 13
    
    예상 출력
    111000000000