[Python] 백준 / silver / 11725번 : 트리의 부모 찾기

김상우·2021년 10월 28일
0

문제 링크 : https://www.acmicpc.net/problem/11725

학교 수업 때문에 한 2주 정도 C++만 다루다가 오랜만에 Python을 다뤘더니 적응이 살짝 안됐던 문제.

처음 세팅을 undirected graph 로 세팅한 뒤, root node 1에 대해서 DFS를 수행하여 풀었다.

sys.setrecursionlimit(10**6) 으로 재귀 제한 해제를 해줘야 한다.

파이썬 정답 코드

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

graph = [[] for _ in range(N+1)]
visit = [False] * (N+1)

for _ in range(N-1):
    a, b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)

parent = [-1] * (N+1)

def dfs(node, p):
    visit[node] = True
    parent[node] = p

    for x in graph[node]:
        if not visit[x]:
            dfs(x, node)

dfs(1,0)
for i in range(2, N+1):
    print(parent[i])
profile
안녕하세요, iOS 와 알고리즘에 대한 글을 씁니다.

0개의 댓글