만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

거리가 k 이하인 트리 노드에서 사과 수확하기

면접 대비

시간 제한1초메모리 제한512 MB

요약
루트 0에서 거리가 k 이하인 정점에 달린 사과의 개수를 구합니다.
난이도

쉬움10점 중 3점

유형
트리, BFS
정답자
아직 제출이 없습니다

문제

nn개의 정점과 n−1n-1개의 간선으로 구성된 트리 TT가 있다. 정점 번호는 0부터 n−1n-1까지이고 0번 정점이 루트이다. 모든 간선의 길이는 1이다. 트리 TT의 각 정점에는 사과가 0개 또는 1개 놓여 있다. 루트 노드에서 거리가 kk 이하인 노드에 있는 사과를 수확하려고 한다. 수확할 수 있는 사과 개수를 출력하자.

입력

첫 번째 줄에 정점의 수 nn과 정수 kk가 공백을 사이에 두고 순서대로 주어진다.

두 번째 줄부터 n−1n-1개 줄에 걸쳐 간선의 정보가 주어진다. 한 줄에 하나의 간선 정보가 주어진다. 하나의 간선 정보는 부모 정점 번호 pp와 자식 정점 번호 cc가 공백을 사이에 두고 순서대로 주어진다.

다음 줄에는 0번 정점부터 n−1n-1번 정점까지 정점의 사과 정보를 나타내는 nn개의 정수가 공백을 사이에 두고 순서대로 주어진다. ii번째 수는 i−1i-1번 정점에 있는 사과의 수를 나타낸다. 사과의 수는 0 또는 1이다.

출력

첫 번째 줄에 수확할 수 있는 사과 개수를 출력한다.

제한

  • 2≤n≤100,0002 \le n \le 100{,}000
  • 0≤p,c≤n−10 \le p, c \le n-1, p≠cp \ne c
  • 간선들로 만들어진 그래프는 트리이다.
  • 0≤k≤n−10 \le k \le n-1
  • 정점에 있는 사과의 수는 0 또는 1이다.

예제1

  1. 예제 1

    입력
    8 2
    0 1
    0 2
    1 3
    1 4
    2 5
    2 6
    6 7
    1 0 0 1 0 1 0 1
    
    예상 출력
    3