import sys
def find(x):
if my_set[x] < 0:
return x
my_set[x] = find(my_set[x])
return my_set[x]
def union(x, y):
x, y = find(x), find(y)
if x == y:
return
if my_set[x] < my_set[y]:
my_set[x] += my_set[y]
my_set[y] = x
else:
my_set[y] += my_set[x]
my_set[x] = y
n, m = map(int, sys.stdin.readline().split())
my_set = [-1] * (n + 1)
for _ in range(m):
key, a, b = map(int, sys.stdin.readline().split())
if not key:
union(a, b)
else:
if find(a) == find(b):
print('YES')
else:
print('NO')
'파이썬 코테 준비' 카테고리의 다른 글
[백준 9372] 상근이의 여행 - Python(파이썬) (0) | 2021.03.21 |
---|---|
[백준 20040] 사이클 게임 - Python(파이썬) (0) | 2021.03.21 |
[백준 6549] 히스토그램에서 가장 큰 직사각형 - Python(파이썬) (0) | 2021.03.11 |
[백준 11657] 타임머신 - Python(파이썬) (0) | 2021.03.11 |
[백준 9370] 미확인 도착지 - Python(파이썬) (0) | 2021.03.11 |
댓글