알고리즘/baekjoon
[ baekjoon ] 트리의 부모 찾기 11725번 ( python )
Yanoo
2021. 5. 7. 00:32
728x90
반응형
문제
백준 11725 트리의 부모 찾기 풀이 ( 파이썬 )
11725번: 트리의 부모 찾기
루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.
www.acmicpc.net
풀이
첫 테스트 케이스는 위의 그림인데 자신의 부모 노드를 찾는 것이다
(예를 들어 5는 3, 3은 6, 7은 4 등등)
dfs 로 들어가면서 방문하지 않았다면 현재 확인하는 노드가 부모 노드이다.
그리고 런타임 오류가 발생했었는데, 재귀 문제로 재귀 깊이를 늘려주면 된다고 한다.
import sys
sys.setrecursionlimit(10**9)
input=sys.stdin.readline
n=int(input())
graph=[[] for _ in range(n+1)]
visited=[False for _ in range(n+1)]
answer=[1 for _ in range(n+1)]
def dfs(node):
visited[node]=True
for i in graph[node]:
if not visited[i]:
answer[i]=node
dfs(i)
return
for i in range(n-1):
o,t=map(int,input().split())
graph[o].append(t)
graph[t].append(o)
dfs(1)
for i in range(2,len(answer)):
print(answer[i])
728x90
반응형