본문 바로가기
Problem Solving/BOJ

[DFS] 11725 트리의 부모 찾기

by Bokoo14 2023. 1. 1.

https://www.acmicpc.net/problem/11725

 

11725번: 트리의 부모 찾기

루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**9)

n = int(input())
tree = [[] for _ in range(n+1)]
for _ in range(n-1):
    a, b = map(int, input().split())
    tree[a].append(b)
    tree[b].append(a)

answer=[-1]*(n+1)
def dfs(vertex):
    for i in tree[vertex]:
        if answer[i]==-1:
            answer[i]= vertex
            dfs(i)

dfs(1)
for i in range(2, n+1):
    print(answer[i])

answer이라는 리스트에 트리의 부모 값 저장

 

i : 자식 node

vertex : 부모 node

'Problem Solving > BOJ' 카테고리의 다른 글

[Divide and Conquer] 1629 곱셈  (0) 2023.01.01
[DP] 1149 RGB거리  (0) 2023.01.01
[Greedy] 16953 A->B  (1) 2022.12.31
[Backtracking] 15666 N과 M(12)  (0) 2022.12.30
[Backtracking] 15663 N과 M(9)  (0) 2022.12.30