-
코드
import sys sys. setrecursionlimit(10**6) n, m = map(int, sys.stdin.readline().split(" ")) li = [0] * (n+1) answer_li = [] for i in range(n+1): li[i] = i def find(a): if a == li[a]: return a p = find(li[a]) li[a] = p return p def union(x,y): a = find(x) b = find(y) if a == b: return li[max(a,b)] = min(a,b) for _ in range(m): u, a, b = map(int, sys.stdin.readline().split(" ")) if u == 0: union(a,b) else: if find(a) == find(b): answer_li.append("YES") else: answer_li.append("NO") for i in range(len(answer_li)): print(answer_li[i])
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 15681번 트리와 쿼리 (파이썬) (0) 2022.01.06 [백준] 9372번 상근이의 여행 (파이썬) (0) 2022.01.06 [백준] 4803번 트리 (파이썬) (0) 2022.01.05 [백준] 5639번 이진 검색 트리 (파이썬) (0) 2022.01.05 [백준] 2263번 트리의 순회 (파이썬) (0) 2022.01.05