[백준] 11725 트리의 부모 찾기

cheeeese·2022년 6월 2일
0

코딩테스트 연습

목록 보기
112/151
post-thumbnail

📖 문제

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

💻 내 코드

import sys
sys.setrecursionlimit(10 ** 6)
n=int(sys.stdin.readline())

graph=[[] for _ in range(n+1)]
for i in range(n-1):
    a, b=map(int, sys.stdin.readline().split())
    graph[a].append(b)
    graph[b].append(a)

visited=[0]*(n+1)

def dfs(graph, v, visited):
    for i in graph[v]:
        if visited[i]==0:
            visited[i]=v
            dfs(graph,i,visited)

dfs(graph,1, visited)

for i in range(2, n+1):
    print(visited[i])
    

💡 풀이

  • dfs를 이용했다
  • 방문하지 않은 곳이라면 직전 노드가 부모노드 이므로 해당 인덱스에 부모 노드 저장

계속 런타임 에러가 나서 찾아보니깐

sys.setrecursionlimit(10 ** 6)

재귀함수에는 이 한 줄이 있으면 재귀의 최대 깊이가 10**6으로 바뀌어서 런타임 에러가 안난다고 했다
pypy에서는 설정할 수 없다고 함

0개의 댓글