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

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

누텔라 트리 (Easy)

면접 대비

시간 제한2초메모리 제한1024 MB

요약
빨강과 검정으로 칠해진 트리에서 검정 정점에서 시작해 빨강 정점만 지나며 길이가 2 이상인 경로의 수를 센다.
난이도

보통10점 중 5점

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

문제

민제는 정점이 NN개인 트리를 가지고 있다. 이 트리의 각 정점은 빨간색 또는 검은색으로 칠해져 있다.

민제는 빨간색과 검은색 정점으로 가득한 이 트리를 보고 누텔라(Nutella)를 떠올렸다. 누텔라는 민제가 가장 좋아하는 초콜릿 잼으로, 로고는 다음과 같이 생겼다. 맨 앞 글자는 검은색, 나머지 글자는 빨간색임에 주목하자.

민제는 트리에서 누텔라 로고를 몇 개나 찾을 수 있을지 궁금해졌다.

다음 조건을 모두 만족하는 서로 다른 정점의 열 [v1,v2,⋯ ⁣,vk][v_1, v_2, \cdots\!, v_k]를 누텔라 경로라 정의하자.

  • kk는 22 이상이다.
  • 각 1≤i≤k−11 \le i \le k-1에 대해, viv_i와 vi+1v_{i+1}은 트리에서 간선으로 직접 연결되어 있다.
  • v1v_1은 검은색이다.
  • 각 2≤i≤k2 \le i \le k에 대해, viv_i는 빨간색이다.

주어진 트리에서 누텔라 경로가 총 몇 개 있는지 구하시오.

입력

첫째 줄에 트리의 정점의 개수 NN이 주어진다. (2≤N≤100 0002 \le N \le 100\,000)

이후 (N−1)(N-1)개 줄에 걸쳐 각 간선이 잇는 두 정점의 번호 uiu_i, viv_i가 공백을 사이에 두고 주어진다. (1≤ui≤N1 \le u_i \le N, 1≤vi≤N1 \le v_i \le N, ui≠viu_i \neq v_i)

그 다음 줄에는 알파벳 B, R로만 이루어진 길이 NN의 문자열 CC가 주어진다. CC의 ii번째 문자는 ii번 정점의 색을 나타내며, B는 검은색, R는 빨간색을 의미한다.

출력

첫째 줄에 누텔라 경로의 개수를 출력한다.

힌트

예제로 주어진 트리를 그림으로 나타내면 다음과 같다.

예제1

  1. 예제 1

    입력
    6
    1 3
    2 4
    5 3
    4 6
    3 4
    RRBRRB
    
    예상 출력
    6