728x90
반응형
https://www.acmicpc.net/problem/11725
아이디어
인접행렬로 값을 저장 후 dq를 생성한 뒤 루트트리 1을 집어넣고 BFS로 진행한다. 그 후 펼쳐나가면서 answer에 pop한 now를 집어넣으면서 전체를 탐험.
from collections import deque
n = int(input())
graph = [[] for _ in range(n+1)]
visited = [0] * (n+1)
answer = [0] * (n+1)
for i in range(n-1):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
print(graph)
dq = deque([1])
while dq:
now = dq.popleft()
for i in graph[now]:
if visited[i] == 0:
answer[i] = now
visited[i] = 1
dq.append(i)
for i in range(2, n+1):
print(answer[i])
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준] 9465번: 스티커 - python (0) | 2024.04.11 |
---|---|
[백준] 1991번: 트리 순회 - python (0) | 2024.04.09 |
[백준] 15666번: N과 M (12) - python (0) | 2024.04.09 |
[백준] 15665번: N과 M (11) - python (0) | 2024.04.09 |
[백준] 15664번: N과 M (10) - python (0) | 2024.04.09 |