https://www.acmicpc.net/problem/11725
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**9)
n = int(input())
tree = [[] for _ in range(n+1)]
for _ in range(n-1):
a, b = map(int, input().split())
tree[a].append(b)
tree[b].append(a)
answer=[-1]*(n+1)
def dfs(vertex):
for i in tree[vertex]:
if answer[i]==-1:
answer[i]= vertex
dfs(i)
dfs(1)
for i in range(2, n+1):
print(answer[i])
answer이라는 리스트에 트리의 부모 값 저장
i : 자식 node
vertex : 부모 node
'Problem Solving > BOJ' 카테고리의 다른 글
[Divide and Conquer] 1629 곱셈 (0) | 2023.01.01 |
---|---|
[DP] 1149 RGB거리 (0) | 2023.01.01 |
[Greedy] 16953 A->B (1) | 2022.12.31 |
[Backtracking] 15666 N과 M(12) (0) | 2022.12.30 |
[Backtracking] 15663 N과 M(9) (0) | 2022.12.30 |