アルゴリズム学習—白駿1717号:集合の表示
もんだいぶんせき
1)集約演算-0 ab形式で与える
2)2つの要素が同じ集合内に-1 a bの形で含まれていることを確認する.
2)同一の集合の有無はパイプに対応し,コーナーポイントが異なる場合はNO,YESである.
アルゴリズムコード
2)find関数をparent[x]=find parent(parent[x])に変更
import sys
sys.setrecursionlimit(1000000)
input = sys.stdin.readline
n, m = map(int, input().split())
parent = [i for i in range(n+1)]
def find_parent(x):
if parent[x] != x:
parent[x] = find_parent(parent[x])
return parent[x]
def union(x, y):
x = find_parent(x)
y = find_parent(y)
if x < y:
parent[y] = x
else:
parent[x] = y
for _ in range(m):
calculate, x, y = map(int, input().split())
if calculate == 0:
union(x, y)
else:
root_x = find_parent(x)
root_y = find_parent(y)
if root_x == root_y:
print("YES")
else:
print("NO")
Reference
この問題について(アルゴリズム学習—白駿1717号:集合の表示), 我々は、より多くの情報をここで見つけました https://velog.io/@guri_coding/알고리즘-스터디-백준-1717번-집합의-표현テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol