practivceAlgorithm/백준
[백준][Pyhton] 9489 사촌
findTheValue
2021. 8. 6. 01:20
처음엔 같은 레벨에 있으면 사촌인줄 알고 BFS돌렸었는데 그냥 할아버지 노드가 같으면 사촌인걸 알고 트리로 쉽게 품.
import sys
input = sys.stdin.readline
from collections import defaultdict
while 1:
n,k = map(int,input().split())
if not n and not k:
break
arr = list(map(int,input().split()))
parents = defaultdict(int)
idx=0
for i in range(1,n):
parents[arr[i]] = arr[idx]
if i <n-1 and arr[i]+1 < arr[i+1]:
idx+=1
if parents[parents[k]]:
cnt=0
for node in arr:
if (parents[parents[k]] == parents[parents[node]]) and (parents[k] != parents[node]):
cnt+=1
print(cnt)
else:
print(0)