1
import sys input = sys.stdin.readline def union(A,B): X = find_parent(A) Y = find_parent(B) if X != Y: if rank[X] < rank[Y]: X,Y = Y,X make_set[Y] = X if rank[X] == rank[Y]: rank[X] += 1 def find_parent(ind): if make_set[ind] == ind: return ind else: make_set[ind] = find_parent(make_set[ind]) return make_set[ind] N,M = map(int,input().split()) make_set = [i for i in range(N+1)] rank = [1 for _ in range(N+1)] for _ in range(M): command, A,B = map(int,input().split()) if command: if find_parent(A) == find_parent(B): sys.stdout.write('YES\n') else: sys.stdout.write('NO\n') else: union(A,B)
'알고리즘 > 백준_복기_미완료' 카테고리의 다른 글
[BOJ/백준] 15961 회전 초밥 (0) | 2021.05.05 |
---|---|
[BOJ/백준] 14601 샤워실 바닥 깔기(Large) (0) | 2021.05.05 |
[BOJ/백준] 14595 동방 프로젝트(Large) (0) | 2021.05.05 |
[BOJ/백준] 14570 나무 위의 구슬 (0) | 2021.05.05 |
[BOJ/백준] 14476 최대공약수 하나 빼기 (0) | 2021.05.05 |