본문 바로가기
PS/백준

백준 11725번: 트리의 부모찾기 python 파이썬

by 지기_ 2021. 8. 6.
반응형

1. 문제

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

 

11725번: 트리의 부모 찾기

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

www.acmicpc.net

 

 

2. 풀이

 

3. 구현

import sys
# sys.stdin = open('input.txt')

sys.setrecursionlimit(10**8)

# @profile
def main():
    n = int(sys.stdin.readline())
    tree=[[] for _ in range(n+2)]
    tmp=n
    while tmp>1:
        tmp-=1
        n_1, n_2 = map(int, sys.stdin.readline().split())
        tree[n_1].append(n_2)
        tree[n_2].append(n_1)

    root_lis=[0]*(n+2)
    def find_root(root):
        for item in tree[root]:
            if root_lis[item]==0:
                root_lis[item]=root
                find_root(item)
        return
    find_root(1)
    for idx in range(2,n+1):
        sys.stdout.write(str(root_lis[idx])+'\n')

if __name__=="__main__":
    main()

 

 

반응형

댓글