컴공생의 다이어리

[파이썬, Python] 백준 17352번 : 여러분의 다리가 되어 드리겠습니다! 본문

Development/Algorithm & Coding Test

[파이썬, Python] 백준 17352번 : 여러분의 다리가 되어 드리겠습니다!

컴공 K 2022. 7. 7. 00:01

백준 17352번 : 여러분의 다리가 되어 드리겠습니다!

(문제 바로가기)

 

 

내 코드

import sys

input = sys.stdin.readline


def find_parent(parent, x):  # 이어진 섬의 대표 섬 찾기
    if parent[x] != x:
        parent[x] = find_parent(parent, parent[x])
    return parent[x]


def union(parent, a, b):  # 섬 잇기
    a = find_parent(parent, a)
    b = find_parent(parent, b)
    if a < b:
        parent[b] = a
    else:
        parent[a] = b


n = int(input())  # 섬의 수
parent = [i for i in range(n + 1)]  # 이어진 섬의 정보

for _ in range(n - 2):  # 섬 연결
    a, b = map(int, input().split())  # 다리 정보
    union(parent, a, b)

answer = []  # 다리로 이을 두 섬의 번호
for i in range(1, n + 1):  # 부서진 다리 찾기
    if i == parent[i]:
        answer.append(i)
print(*answer)

 

 

728x90
Comments