파일 업로드

가상 세계 재구성

profile
실행 시간 제한메모리 제한
2 초512 MB
📃 해결할 문제

게임 개발자인 주환은, NN 개의 방 (2N1052 \leq N \leq 10^5)으로 구성된 가상 세계를 만들었습니다. 

이 방들은 N1N-1 개의 통로로 연결되어 있어 어느 방에서든 다른 모든 방으로 갈 수 있습니다.  이 가상 세계의 구조는 트리의 형태를 하고 있습니다. 

그 후 28년 동안 트리 구조에서 발생하는 복잡한 프로그래밍 문제들을 해결해오던 주환은 트리 형태의 가상 세계가 너무 복잡하다고 결론지었습니다. 그는 가상 세계가 일렬의 경로로 구성되어 있다면 프로그래밍 문제들을 더 쉽게 해결할 수 있을 것이라고 생각했습니다.

그래서 그의 계획은 통로들을 여러 개의 일렬 경로로 재구성하고, 각 경로를 능숙한 게임 관리자에게 할당하는 것입니다. 충돌을 방지하기 위해, 그는 모든 경로가 같은 길이를 갖도록 하려고 합니다. 그는 어떤 길이에 대해 이러한 재구성이 가능한지 알고 싶어합니다.

더 쉽게 말하면, 각각 1KN11 \leq K \leq N-1에 대해, 주환이 통로를 재배열하여 정확히 KK의 길이를 가진 경로를 만들 수 있는지 알고 싶어합니다.

💻 입력

첫 번째 줄에는 단일 정수 NN가 포함되어 있습니다.

다음 N1N-1 줄 각각에는 정점 aabb 사이의 간선을 나타내는 두 개의 공백으로 구분된 정수 aabb가 포함되어 있습니다. aabb 각각은 범위 1N1 \ldots N에 있습니다.

🖨️ 출력

N1.N-1.의 길이를 가진 비트 문자열을 출력하여야 합니다. 각 1KN1,1 \le K \le N-1,에 대해, 왼쪽에서 KK번째 비트는 트리의 간선을 정확히 KK 길이의 경로로 나눌 수 있다면 1을, 그렇지 않다면 0을 나타내야 합니다.


💻 예제 입력 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
🖨️ 예제 출력 1
111000000000

💡 힌트

이 트리를 길이 KK의 경로로 분할할 수 있습니다. 

K=1,2,3.K=1,2,3.에 대해. K=3K=3의 경우 가능한 경로 집합은 다음과 같습니다:

1312118,10986,7623,542113-12-11-8, 10-9-8-6, 7-6-2-3, 5-4-2-1


출처: USACO 2020 February Contest, Gold Problem 3. Delegation