균형 잡힌 경로
시간 제한3초메모리 제한256 MB
트리에서 두 노드 사이 경로의 괄호 문자열이 올바른 괄호 문자열이 되는 순서쌍 개수를 구합니다.
문제
정점이 개인 무방향 트리가 주어진다. 정점 번호는 번부터 번까지다. 각 정점에는 ( 또는 )가 하나씩 적혀 있다. 두 정점 , 에 대해 는 에서 로 가는 단순 경로 위의 정점에 적힌 문자를 부터 까지 순서대로 이어 붙인 문자열이다. 트리에서 두 정점을 잇는 단순 경로는 유일하다.
균형 잡힌 문자열은 다음과 같이 정의한다.
- 빈 문자열은 균형 잡힌 문자열이다.
- 가 균형 잡힌 문자열이면
(, ,)를 순서대로 이어 붙인 문자열도 균형 잡힌 문자열이다. - 와 가 균형 잡힌 문자열이면 둘을 이어 붙인 도 균형 잡힌 문자열이다.
- 그 밖의 문자열은 균형 잡힌 문자열이 아니다.
가 균형 잡힌 문자열인 순서쌍 의 개수를 구하라.
입력
첫째 줄에 트리의 정점 개수 이 주어진다. ()
둘째 줄에 길이가 인 문자열이 주어진다. 문자열의 각 문자는 ( 또는 )이며, 번째 문자는 정점 에 적힌 문자다.
다음 개 줄에는 두 정수 와 가 주어진다. () 정점 와 정점 가 간선으로 이어져 있다는 뜻이다. 주어지는 그래프는 항상 트리다.
출력
가 균형 잡힌 문자열인 순서쌍 의 개수를 한 줄에 출력한다.