파일 업로드

시계 조정

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

A 도시의 도서관은 독특한 구조를 가지고 있습니다.

도서관은 NN 개의 방(2N25002 \leq N \leq 2500)으로 구성되어 있으며, 편리하게 1N1 \ldots N번으로 번호가 매겨져 있습니다. 또한 N1N-1개의 복도가 있는데, 각 복도는 두 개의 방을 연결하며, 어떤 방에서 다른 방으로 복도를 따라 걸어갈 수 있도록 되어 있습니다.

각 방의 벽에는 표준정수 1121 \ldots 12의 숫자가 표시된 원형 시계가 달려 있습니다. 이 시계에는 시계 바늘이 하나만 있으며, 시계 바늘은 항상 정수 중 하나를 정확하게 가리킵니다(두 정수 사이를 가리키지 않습니다).

학생인 재인은 방의 모든 원형 시계가 모두 정수 12가 가리키도록 동기화하려고 합니다. 하지만 그녀는 건망증이 심해서 방에 들어갈 때마다 시계의 바늘을 한 칸씩 앞으로 이동시키고 까먹습니다. 예를 들어, 시계가 5를 가리키고 있으면 이제 6을 가리키게 되고,시계가 12를 가리키고 있으면 이제 1을 가리키게 됩니다. 만약 재인이 같은 방에 여러 번 들어가면 그 방의 시계는 그녀가 들어갈 때마다 한 칸씩 조정됩니다.

재인이 방을 돌아다니기 시작하여 모든 시계가 12를 가리키도록 설정할 수 있는 방의 수를 구하십시오.

참고로 재인이 처음으로 입장하는 방은 시계의 바늘은 조정되지 않지만, 그 방에 다시 들어가면 시계가 조정됩니다. 시계는 스스로 변경되지 않으며, 누군가 방에 들어갈 때만 변경됩니다. 또한, 재인이 복도로 들어서게 되면, 반드시 그 복도의 다른 끝으로 나가야 합니다. (중간에 돌아갈 수 없습니다.)

 

💻 입력

입력의 첫 번째 줄에는 NN이 주어집니다. 

다음 줄에는 각 방의 초기 시계 설정을 지정하는 범위가 1121 \ldots 12NN개의 정수가 주어집니다. 

다음 N1N-1줄은 각각 두개의 정수 aabb, 각각의 범위는 1N1 \ldots N로, 복도로 연결된 방의 번호를 제공합니다.

🖨️ 출력

재인이 모든 시계의 바늘을 12를 가리키게 설정할 수 있도록 시작할 수 있는 방의 수를 출력합니다.


💻 예제 입력 1
4
11 10 11 11
1 2
2 3
2 4
🖨️ 예제 출력 1
1

💡 힌트

이 예시에서는 재인이 2번 방에서 시작하는 경우에만 모든 시계가 12를 가리키도록 설정할 수 있습니다. 

(방 1, 2, 3, 2, 그리고 4로 이동함으로써).


출처: USACO 2020 February Contest, Silver Problem 3. Clock Tree