🗝️ Algorithm/🟩 백준

🟩 [백준] [Python] [Gold5] 1068번_트리

Dbswnstjd 2023. 1. 4. 05:38

문제

https://www.acmicpc.net/problem/1068

 

1068번: 트리

첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다

www.acmicpc.net

풀이

# 백준 1068번 문제 - 트리
n = int(input())
node = list(map(int, input().split()))
m = int(input())
cnt = 0

def dfs(n, node):
    node[n] = -2
    for i in range(len(node)):
        if n == node[i]:
            dfs(i, node)

dfs(m, node)
for i in range(len(node)):
    if node[i] != -2 and i not in node:
        cnt += 1
print(cnt)