만드는 중입니다

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

뿌리 찾기

면접 대비

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

요약
각 데이터 셋에서 사자 L부터 부모를 따라 올라가며 거치는 사자의 수(L 포함)를 구합니다.
난이도

쉬움10점 중 2점

유형
구현, 연결 리스트
정답자
아직 제출이 없습니다

문제

P-22의 아버지는 산타모니카 산맥에서 처음으로 표지가 달린 산사자 P-1이었다. P-22의 어머니는 알려져 있지 않다. 안타깝게도 P-1의 부모에 대해서는 아무것도 알지 못하므로, P-22의 계보는 두 세대(본인과 아버지)까지만 거슬러 올라갈 수 있다. 다른 경우에는 훨씬 멀리까지 거슬러 올라갈 수 있으며, 그 깊이가 실제로 얼마나 되는지 알아내야 한다.

문제를 단순하게 하고 지수적으로 커지는 것을 피하기 위해, 각 산사자에게는 부모를 한 명만 준다. 정보가 없으면 부모를 주지 않는다. 특정 산사자의 계보에서 거슬러 올라갈 수 있는 세대의 총 수를 구하라.

입력

첫 줄에는 데이터 셋의 개수 1≤K≤1001 \le K \le 100이 주어진다. 이어서 K개의 데이터 셋이 주어진다.

각 데이터 셋의 첫 줄에는 두 정수 1≤L≤n≤100001 \le L \le n \le 10000이 주어진다. nn은 데이터베이스에 있는 산사자의 총 수이고, LL은 계보를 알고 싶은 산사자의 번호이다.

다음 줄에는 정수 nn개가 주어지며, pip_i는 산사자 ii의 부모이다(0≤pi≤n0 \le p_i \le n). 00은 산사자 ii의 부모를 알 수 없다는 뜻이다. 부모 관계이므로 입력에는 사이클이 없다.

출력

각 데이터 셋마다 한 줄에 Data Set x:를 출력한다. 여기서 xx는 데이터 셋의 번호이다. 그다음 데이터베이스에 있는 LL의 계보 세대 수를 출력하며, LL 자신도 포함한다.

각 데이터 셋 뒤에는 빈 줄을 하나 출력한다.

예제1

  1. 예제 1

    입력
    2
    4 6
    0 0 4 6 1 1
    5 5
    0 0 0 0 0
    
    예상 출력
    Data Set 1:
    3
    
    Data Set 2:
    1