컴공생의 다이어리
[파이썬, Python] 백준 1717번 : 집합의 표현 본문
백준 1717번 : 집합의 표현
내 코드
import sys
sys.setrecursionlimit(10**8)
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
input = sys.stdin.readline
n, m = map(int, input().split())
parent = [i for i in range(n + 1)]
for _ in range(m):
command = list(map(int, input().split()))
if command[0] == 0: # 합치기
union(parent, command[1], command[2])
else: # 같은 집합에 포함되는가?
if find_parent(parent, command[1]) == find_parent(parent, command[2]):
print("YES")
else:
print("NO")
728x90
반응형
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[파이썬, Python] 백준 1005번 : ACM Craft (0) | 2022.05.20 |
---|---|
[파이썬, Python] 백준 1715번 : 카드 정렬하기 (0) | 2022.05.19 |
[파이썬, Python] 백준 11725번 : 트리의 부모 찾기 (0) | 2022.05.17 |
[파이썬, Python] 백준 7662번 : 이중 우선순위 큐 (0) | 2022.05.16 |
[파이썬, Python] 백준 11286번 : 절댓값 힙 (0) | 2022.05.15 |
Comments