페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5299

벌써 12시 (Clock Tree) 1초 128MB

문제

1부터 N번까지 번호가 매겨진 N개의 방은 두 방과 연결하는 N-1개의 복도로 이어져 있다.

모든 방들은 벽에 1에서 12까지 적혀있는 일반적인 아날로그 원형 시계가 걸려 있다. 이 시계들은 바늘이 하나만 있어 시계의 정수 중 하나를 직접 가리킨다 (두 정수 사이를 가리키지 않음).

적하는 헛간의 모든 시계가 정수 12를 가리키게 하고 싶다. 그래서 적하는 헛간을 돌아다니면서 방에 들어갈 때마다 시계를 한 위치 앞당긴다.

예를 들어, 시계가 5시를 가리킨다면 이제 6시를 가리킬 것이고, 시계가 12시를 가리키면 이제 1시를 가리킬 것이다. 적하가 같은 방에 여러 번 들어가면 매번 그 방의 시계를 앞당깁니다.

적하​는 처음 시작 방에서 시계를 앞당기지 않으며, 물론 다시 해당 시작 방에 돌아가서 시계를 앞당기는 것은 가능하다.

또한 적하가 복도에 들어가면 다른 쪽 끝을 통해 나가야 한다.

모든 시계가 12를 가리키도록 하려면 어느 방에서 시간을 바꾸기 시작해야 하는지 알아보자.


입력

첫 번째 줄에는 N이 주어진다.(2 \leq N \leq 2500)

두 번째 줄에는 각 방의 초기 시계 설정을 지정하는 1~12 범위의 N개의 정수가 주어진다. 

다음 N-1 행은 각각 1~N 범위에 있는 두 개의 정수가 입력되어 복도로 연결된 두 방 번호를 알려준다.


출력

적하가 모든 시계를 12시를 가리키도록 설정할 수 있도록 적하가 시작할 수 있는 방의 수를 출력한다. 


예제1

입력
4

11 10 11 11
1 2
2 3
2 4
출력
1

이 예에서 적하는 방 2에서 시작하는 경우(예: 방 1, 2, 3, 2, 4 순서로 이동)에 모든 시계가 12를 가리키도록 설정할 수 있습니다.


출처

USACO 2020 February Silver

역링크 공식 문제집만