boj 11725

less than 1 minute read

“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 배열을 시용하지 않고, 정답을 담는 배열로 판단해야 시간을 단축시킬 수 있다.

Categories:

Updated: