아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

아침 산책

면접 대비

시간 제한3초메모리 제한256 MB

요약
각 정점이 실내 또는 실외인 트리가 주어질 때, 두 실내 정점 사이의 경로 위에 다른 실내 정점이 없는 순서쌍의 개수를 센다.
난이도

보통10점 중 5점

유형
트리, DFS, 조합론, 그래프
정답자
아직 제출이 없습니다

문제

아침 산책을 즐기는 서현이는 서울과학고에 입학한 뒤에도 아침 산책을 즐기려고 합니다. 서현이는 산책을 위해 서울과학고의 지리를 분석했고, 그 결과 서울과학고를 NN개의 장소를 N−1N-1개의 길이 잇는 트리 형태로 단순화할 수 있었습니다. 트리 구조이므로 모든 장소를 몇 개의 길을 거쳐 오고갈 수 있습니다.

아침 산책은 시작점과 도착점을 정하고, 시작점에서 도착점까지 트리 위의 단순 경로(같은 점을 여러 번 지나지 않는 경로)를 따라 걷는 것입니다. 트리 위의 두 점 사이의 경로는 유일하므로 시작점과 도착점이 정해지면 경로도 유일하게 결정됩니다.

NN개 장소 중 일부는 실내이고 나머지는 실외입니다. 서현이는 산책을 시작하기 전부터 운동을 하는 것을 원하지 않으므로, 산책의 시작점과 끝점은 모두 실내여야 합니다. 또한 산책 도중에 실내 장소를 만나면 산책을 그만두고 싶어지므로, 산책 경로 위에 시작점과 끝점을 제외한 실내 장소가 있으면 안 됩니다.

서현이는 매일 다른 산책 경로를 걷고자 합니다. 서로 다른 산책 경로가 몇 가지인지 구해 봅시다.

입력

첫 줄에는 정점의 수 NN이 주어집니다.

둘째 줄에는 1과 0으로 이루어진 길이 NN의 문자열 AA가 주어집니다. ii번째 문자 AiA_i가 1일 경우 ii번 장소는 실내이며, 0인 경우 ii번 장소는 실외입니다.

셋째 줄부터 N+1N+1번 줄까지는 i+2i+2번 줄에 트리의 각 간선을 나타내는 두 정수 uiu_i, viv_i가 주어집니다. 이는 ii번째 간선이 uiu_i번 정점과 viv_i번 정점을 연결한다는 의미입니다.

출력

가능한 서로 다른 산책 경로의 수를 출력합니다.

제한

  • 2≤N≤2×1052 \le N \le 2 \times 10^5
  • 1≤ui,vi≤N1 \le u_i , v_i \le N
  • ui≠viu_i \neq v_i
  • 입력으로 주어지는 구조는 올바른 트리를 형성함이 보장됩니다.

예제1

  1. 예제 1

    입력
    5
    10111
    1 2
    2 3
    2 4
    4 5
    
    예상 출력
    8