코딩테스트/BOJ

[백준][그래프] 11725.트리의 부모 찾기

박소민 2025. 3. 18. 12:24
11725.트리의 부모 찾기

 

 

  • 내 풀이
    • union-find로 풀려고함
    • 근데 뒤에서 바뀌는 부모를 처리못해서 fail

 

  • 풀이
    • bfs로 루트 1부터 시작해서 자식노드에 해당 부모를 순서대로 넣어주면 되는 간단한 문제였다..!
from collections import deque,defaultdict

n=int(input())
parents=[i for i in range(n+1)]
graph=defaultdict(list)
for _ in range(n-1):
    a,b=map(int,input().split())

    graph[a].append(b)
    graph[b].append(a)

def bfs():
    queue=deque([1])
    visited=[False for _ in range(n+1)]
    visited[1]=True

    while queue:
        cur=queue.popleft()
        for nxt in graph[cur]:
            if visited[nxt]:
                continue
            visited[nxt]=True
            parents[nxt]=cur
            queue.append(nxt)

bfs()
for i in range(2,n+1):
    print(parents[i])

 

'코딩테스트 > BOJ' 카테고리의 다른 글

[백준][DP] 1699. 제곱수의 합  (0) 2025.04.07
[백준][DP] 2482.색상환  (0) 2025.03.22
[백준][DP] 17404.RGB거리 2  (0) 2025.03.05
[백준][DP] 2616.소형기관차  (0) 2025.03.03
[백준][최장증가수열] 줄세우기  (0) 2025.02.24