# 并查集模板
class UF:
def __init__(self, n=0):
self.count = n
self.item = [0 for x in range(n + 1)]
for i in range(n):
self.item[i] = i
def find(self, x):
if (x != self.item[x]):
self.item[x] = self.find(self.item[x])
return 0
return x
def union_connect(self, x, y):
x_item = self.find(x)
y_item = self.find(y)
if (x_item != y_item):
self.item[y_item] = x_item
self.count -= 1
# 并查集模板
class UF:
def __init__(self, n=0):
self.count = n
self.item = [0 for x in range(n + 1)]
for i in range(n):
self.item[i] = i
def find(self, x):
if (x != self.item[x]):
self.item[x] = self.find(self.item[x])
return 0
return x
def union_connect(self, x, y):
x_item = self.find(x)
y_item = self.find(y)
if (x_item != y_item):
self.item[y_item] = x_item
self.count -= 1