1 parent 6346776 commit 60cee47Copy full SHA for 60cee47
1 file changed
10/6.py
@@ -0,0 +1,35 @@
1
+# 특정 원소가 속한 집합을 찾기
2
+def find_parent(parent, x):
3
+ # 루트 노드가 아니라면, 루트 노드를 찾을 때까지 재귀적으로 호출
4
+ if parent[x] != x:
5
+ parent[x] = find_parent(parent, parent[x])
6
+ return parent[x]
7
+
8
+# 두 원소가 속한 집합을 합치기
9
+def union_parent(parent, a, b):
10
+ a = find_parent(parent, a)
11
+ b = find_parent(parent, b)
12
+ if a < b:
13
+ parent[b] = a
14
+ else:
15
+ parent[a] = b
16
17
+n, m = map(int, input().split())
18
+parent = {}
19
20
+# 부모 테이블상에서, 부모를 자기 자신으로 초기화
21
+for i in range(0, n + 1):
22
+ parent[i] = i
23
24
+# 각 연산을 하나씩 확인한다.
25
+for i in range(m):
26
+ oper, a, b = map(int, input().split())
27
+ # 합치기(Union) 연산인 경우
28
+ if oper == 0:
29
+ union_parent(parent, a, b)
30
+ # 찾기(Find) 연산인 경우
31
+ elif oper == 1:
32
+ if find_parent(parent, a) == find_parent(parent, b):
33
+ print('YES')
34
35
+ print('NO')
0 commit comments