ποΈ Algorithm/π© λ°±μ€
π© [λ°±μ€] [Python] [Gold5] 1717λ²_μ§ν©μ νν
Dbswnstjd
2023. 3. 10. 00:14
λ¬Έμ
https://www.acmicpc.net/problem/1717
1717λ²: μ§ν©μ νν
μ΄κΈ°μ $n+1$κ°μ μ§ν© $\{0\}, \{1\}, \{2\}, \dots , \{n\}$μ΄ μλ€. μ¬κΈ°μ ν©μ§ν© μ°μ°κ³Ό, λ μμκ° κ°μ μ§ν©μ ν¬ν¨λμ΄ μλμ§λ₯Ό νμΈνλ μ°μ°μ μννλ €κ³ νλ€. μ§ν©μ νννλ νλ‘κ·Έλ¨μ μ
www.acmicpc.net
νμ΄
# λ°±μ€ 1717λ² λ¬Έμ - μ§ν©μ νν
import sys
sys.setrecursionlimit(1000000)
input = sys.stdin.readline
n, m = map(int, input().split())
parent = [i for i in range(n+1)]
def find_parent(x):
if parent[x] == x:
return parent[x]
parent[x] = find_parent(parent[x])
return parent[x]
def union_parent(a, b):
a = find_parent(a)
b = find_parent(b)
if a < b:
parent[b] = a
else:
parent[a] = b
for _ in range(m):
op, a, b = map(int, input().split())
if op == 1:
if find_parent(a) == find_parent(b):
print('YES')
else:
print('NO')
else:
union_parent(a, b)
Union-find μκ³ λ¦¬μ¦ μ¬μ©νμ¬ ν μ μλ λ¬Έμ μλ€.