https://www.acmicpc.net/problem/11725
"""
1. 아이디어
각 노드별로 bfs로 탐색을 하면서 방문한 곳이 이전에 방문한 적이 없다면 해당 노드를
부모 노드로 기록하고 탐색을 이어간다.
2. 시간복잡도
O(N)
"""
from sys import stdin
from collections import deque
input = stdin.readline
n = int(input())
tree = [ [] for _ in range(n+1) ]
parent = [0] * (n+1)
for _ in range(n-1):
a, b = map(int, input().split())
tree[a].append(b)
tree[b].append(a)
def bfs():
q = deque([1])
while q:
node = q.popleft()
for i in tree[node]:
if parent[i] == 0:
parent[i] = node
q.append(i)
bfs()
for i in parent[2:]:
print(i)

먼가 헷갈린다. 자주 풀어봐야지;;