반응형
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)
푼지 오래되서 기억이 잘 안남...
반응형
'코딩 이야기 > 백준 풀이' 카테고리의 다른 글
백준 1374번: 강의실 파이썬 코드(우선순위 큐) (0) | 2021.07.13 |
---|---|
백준 1342번: 행운의 문자열 파이썬코드(백트래킹) (0) | 2021.07.11 |
백준 4485번: 녹색 옷 입은 애가 젤다지? 파이썬 코드(다익스트라) (0) | 2021.07.10 |
백준 1261번: 알고스팟 파이썬 코드(다익스트라) (0) | 2021.07.09 |
백준 9019번: DSLR 파이썬 코드(BFS) (0) | 2021.05.30 |