유니온파인드2 [백준 20040] 사이클 게임 - Python(파이썬) 유니온파인드를 이용!! import sys def find(x): if home[x] < 0: return x home[x] = find(home[x]) return home[x] def union(a, b, idx): a, b = find(a), find(b) # 사이클을 찾는다면 해당 인덱스를 출력하고 종료 if a == b: print(idx) sys.exit(0) if home[a] < home[b]: home[a] += home[b] home[b] = a else: home[b] += home[a] home[a] = b n, m = map(int, sys.stdin.readline().split()) home = [-1] * n for i in range(1, m+1): a, b = map(in.. 2021. 3. 21. [백준 1717] 집합의 표현 - Python(파이썬) 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(.. 2021. 3. 11. 이전 1 다음