백준/Search
[dfs/백준] 1068번 : 트리
ydin
2022. 7. 31. 14:16
- 문제 : https://www.acmicpc.net/problem/1068
리스트 트리 구조로 바꾸고, visit 리스트 추가해서 진행했더니 메모리초과가 떠서 실패했던 문제
굳이 이렇게 할 필요 없고, 주어진 리스트에 삭제된 노드 -2 처리하고, 리스트 값에 없는 값들이 자식 노드이므로
자식노드이고, -2 처리가 안 된 인덱스 갯수를 센 후 출력하면 된다
- 정답 풀이 :
import sys
sys.setrecursionlimit(10**6)
n=int(input())
data=list(map(int,input().split()))
target=int(input())
def dfs(x,data):
data[x]=-2
for i in range(n):
if x==data[i]:
dfs(i,data)
dfs(target,data)
count=0
for i in range(n):
#삭제 되지 않은 자식 노드
if data[i]!=-2 and (i not in data):
count+=1
print(count)