트리
주어진 입력대로 노드들을 양방향으로 연결하고 1을 루트로 트리를 재구성한다.
1
에서 출발하여 BFS
로 각 노드의 부모를 찾는다.
n = int(input())
tree = [[] for i in range(n+1)]
for i in range(n-1):
a,b=list(map(int,input().split()))
tree[a].append(b)
tree[b].append(a)
q = [1]
ans= {}
check = [False for i in range(n+1)]
while len(q)>0 :
parent=q.pop(0)
for i in tree[parent]:
if not check[i]:
ans[i] = parent
q.append(i)
check[i]=True
#print(q)
for i in range(2,n+1):
print(ans[i])
[백준] 1991번 트리 순회 (Python) (0) | 2020.07.01 |
---|