코딩 이야기/백준 풀이
백준 1717번: 집합의 표현 파이썬 코드(유니온파인드, Union-find)
우기 woogi
2021. 7. 10. 23:38
반응형
import sys
n, m = map(int, sys.stdin.readline().split())
parent = [i for i in range(n+1)]
def find(x):
if parent[x] == x:
return x
return find(parent[x])
def union(x, y):
x = find(x)
y = find(y)
if x != y:
if y > x:
parent[y] = x
else:
parent[x] = y
return
def same(x, y):
x = find(x)
y = find(y)
if x == y:
print("YES")
else:
print("NO")
return
for i in range(m):
a,b,c = map(int, sys.stdin.readline().split())
if a == 0:
union(b,c)
elif a == 1:
if b < c:
same(c, b)
elif b == c:
print("YES")
else:
same(b, c)
푼지 오래되서 기억이 잘 안남...
반응형