⚡️algorithm

[그래프] 백준 11725. 트리 부모

남남이루 2022. 4. 29. 23:46

 

 

노드가 추가될 때 마다, 그 인덱스를 출력하면 된다. 노드가 추가될 수 있다는건 루트 역할 하는 거고, 그 때 인덱스가 루트니까.

 

import sys
sys.stdin = open('input.txt','rt')
input = sys.stdin.readline


n = int(input())
tree = [[] for _ in range(n+1)]
ans = [0] * (n+1)
for i in range(n-1):
    a, b = map(int, input().split())
    tree[a].append(b)
    tree[b].append(a)
# print(tree)
# [[], [6, 4], [4], [6, 5], [1, 2, 7], [3], [1, 3], [4]]

check = [False] * (n+1)
def DFS(e,v):
    check[v] = True
    for i in e[v]: # 연결되어 있는 노드
        if not check[i]: # 방문 안했으면 ans에 입력후 재귀
            ans[i] = v
            DFS(e,i)
DFS(tree,1)
for i in range(2, n+1):
    print(ans[i])

* 참고

https://campkim.tistory.com/13