파일 업로드

행복한 우유 시음

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

농부 민수는 NN (1N1051 \leq N \leq 10^5) 개의 농장을 건설할 계획을 세우고 있고, 그 농장들은 N1N-1개의 도로로 연결되어 트리 형태를 형성하게 됩니다 (즉, 모든 농장들이 서로에게 도달할 수 있으며, 순환이 없습니다). 각 농장에는 11에서 NN까지의 정수형 타입 TiT_i을 가진 소가 있습니다.

민수의 MM명의 친구들 (1M1051 \leq M \leq 10^5)은 자주 그를 찾아옵니다. 친구 ii의 방문 시, 민수는 친구와 함께 농장 AiA_i에서 농장 BiB_i까지 도로를 따라 독특한 경로를 따라 걸을 것입니다 (Ai=BiA_i = B_i 일 수 있습니다). 또한, 그들은 그들이 걷는 경로에 있는 어떤 소의 우유를 맛볼 수 있습니다. 민수의 친구들도 대부분 농부들이기 때문에, 그들은 우유에 대해 매우 강한 선호도를 가지고 있습니다. 그의 친구들 각각은 특정 유형의 소의 우유만 마실 것입니다. 민수의 친구들은 선호하는 유형의 우유를 마셨을 때 행복해합니다.

각각의 친구들이 방문 후 행복할지 아닐지 결정해주세요.

💻 입력

첫 번째 줄에는 두 개의 정수 NNMM이 있습니다.

두 번째 줄에는 NN개의 띄어쓰기로 구분된 정수들 T1,T2,,TN.T_1,T_2, \ldots, T_N.이 있습니다. ii번째 농장에 있는 소의 유형은 Ti.T_i.로 표시됩니다.

다음 N1N-1 줄에는 각각 두 개의 유일한 정수 XXYY (1X,YN1 \leq X, Y \leq N)가 있습니다, 농장 XXYY 사이에 길이 있다는 것을 나타냅니다.

다음 MM 줄에는 정수 AiA_i, BiB_i, 그리고 CiC_i가 있습니다. AiA_iBiB_i는 친구 ii의 방문 중 걸은 경로의 끝점을 나타내며, CiC_i (1CiN1 \le C_i \le N)는 친구가 마시는 우유의 소 유형을 나타냅니다.

🖨️ 출력

MM의 길이를 가진 이진 문자열을 출력하세요. 문자열의 ii번째 문자는 ii번째 친구가 행복하면 '1', 아니면 '0'이어야 합니다.


💻 예제 입력 1
5 5
1 1 2 1 2
1 2
2 3
2 4
1 5
1 4 1
1 4 2
1 3 2
1 3 1
5 5 1
🖨️ 예제 출력 1
10110
💻 예제 입력 2
6 4
1 2 3 3 3 3
1 2
2 3
3 4
2 5
5 6
4 6 1
4 6 2
4 6 3
4 6 4
🖨️ 예제 출력 2
0110

출처: USACO 2019 December Contest, Gold Problem 2. Milk Visits