boj 11725
“https://www.acmicpc.net/problem/11725”
from collections import deque
from sys import stdin
count = int(stdin.readline())
tree = [[]*3 for _ in range(count+1)]
for i in range(count-1):
num1, num2 = map(int, stdin.readline().split())
tree[num1].append(num2)
tree[num2].append(num1)
visited = []
queue = deque()
queue.append(1)
ans = [0] * (count)
ans[0] = 1
while queue:
q = queue.popleft()
for i in tree[q]:
if ans[i-1] == 0:
queue.append(i)
ans[i-1] = q
for i in range(count-1):
print(ans[i+1])
notion
- tree 문제를 bfs문제로 푼다.
- 최대한 visited 배열을 시용하지 않고, 정답을 담는 배열로 판단해야 시간을 단축시킬 수 있다.