class Union_find_set(object):
def __init__(self, n):
self.__fa = list(range(n))
self.__size = [1] * n
def __findfa(self, x):
if x == self.__fa[x]:
return x
else:
self.__fa[x] = self.__findfa(self.__fa[x])
return self.__fa[x]
def find_father(self, x):
return self.__findfa(x)
def same_set(self, x, y):
return self.__findfa(x) == self.__findfa(y)
def union_set(self, x, y):
fx, fy = self.__findfa(x), self.__findfa(y)
if fx == fy:
return None
if self.__size[fx] < self.__size[fy]:
self.__fa[fx] = fy
self.__size[fy] += self.__size[fx]
else:
self.__fa[fy] = fx
self.__size[fx] += self.__size[fy]
n, m = [int(x) for x in input().split(' ') if x.isdigit()]
ufs = Union_find_set(n)
for t in range(m):
z, x, y = [int(x) for x in input().split(' ') if x.isdigit()]
x, y = x - 1, y - 1
if z == 1:
ufs.union_set(x, y)
elif ufs.same_set(x, y):
print('Y')
else:
print('N')
最近学了Python,本想用这个并查集写一个类来练练手,但是交上去全是RE,下载了测试数据,在本地是可以正常运行的,想问问大佬这是什么情况?