코딩테스트/백준
[파이썬]트리의_부모_찾기_S2_DFS
sunNprize
2022. 4. 8. 17:41
"""
*packageName :
* fileName : 11725_트리의부모찾기_S2
* author : qkrtk
* date : 2022-04-08
* description :
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 2022-04-08 qkrtk 최초 생성
"""
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 5)
# n 정점이자 노드루트의 개수
n = int(input())
graph = [[] for _ in range(n + 1)]
visited = [0] * (n + 1)
for _ in range(n - 1):
x, y = map(int, input().split())
graph[x].append(y)
graph[y].append(x)
print("graph : %s " % graph)
def dfs(v):
for i in graph[v]:
if not visited[i]:
visited[i] = v
dfs(i)
dfs(1)
for i in range(2, n + 1):
print(visited[i])
- dfs recursive
-해당 기존에 활용하던 visited 배열에 해당 부모 노드 (v) 의 정보를 입력해주면 해당 노드의 부모를 불러올 수 있음.