만드는 중입니다

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

구사과 시티

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

요약
N개의 정점으로 이루어진 트리에서 순간이동 부스 두 개를 놓는 방법 중, 모든 정점 쌍의 최대 거리가 X 이하인 경우의 수를 구합니다.
난이도

보통10점 중 7점

유형
트리, 최단 경로, 완전 탐색
정답자
아직 제출이 없습니다

문제

구사과 시티는 NN개의 정점으로 이루어진 트리로 나타낼 수 있다. 정점은 0부터 N−1N-1까지 번호가 매겨져 있고, 0≤i<N−10 \le i < N-1을 만족하는 각 ii에 대해 정점 i+1i+1은 정점 AiA_i와 간선으로 연결되어 있다. 간선을 따라 한 정점에서 다른 정점으로 이동하는 데는 1분이 걸린다.

구사과 시티의 시민들은 이동 시간을 줄이기 위해 텔레포트 장치를 설치하기로 했다. 텔레포트 장치는 동일하게 생긴 두 부스로 이루어져 있고, 각 부스는 정점에 놓여 있어야 한다. 한 부스로 들어가면 즉시 다른 부스에서 나오게 된다. 두 부스를 같은 정점에 설치하는 것도 가능하다.

두 정점 사이의 거리는 한 정점에서 다른 정점으로 가는 데 필요한 시간의 최솟값이다. NN, 간선 정보, 정수 XX가 주어질 때, 임의의 두 정점 사이 거리의 최댓값을 DD라고 하자. DD가 XX를 넘지 않도록 텔레포트 장치를 설치하는 방법의 수를 구하라.

입력

첫째 줄에 두 정수 NN과 XX가 주어진다. 둘째 줄에는 N−1N-1개의 정수 AiA_i가 주어진다.

출력

DD가 XX를 넘지 않도록 텔레포트 장치를 설치하는 방법의 수를 첫째 줄에 출력한다.

제한

  • 2≤N≤2,0002 \le N \le 2,000
  • 0≤X≤N0 \le X \le N
  • 0≤Ai≤i0 \le A_i \le i (0≤i<N−10 \le i < N-1)

예제5

  1. 예제 1

    입력
    4 1
    0 1 2
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3 2
    0 0
    
    예상 출력
    6
    
  3. 예제 3

    입력
    6 2
    0 0 0 1 1
    
    예상 출력
    1
    
  4. 예제 4

    입력
    7 3
    0 1 0 1 2 4
    
    예상 출력
    0
    
  5. 예제 5

    입력
    16 7
    0 1 0 2 0 0 4 5 8 9 10 11 8 4 6
    
    예상 출력
    31