Submission #7469261


Source Code Expand

import sys
def input():
	return sys.stdin.readline().strip()

N, Q = list(map(int, input().split()))


class Union_Find():
	def __init__(self, n):
		self.union = [i for i in range(n)]
		self.level = [0 for i in range(n)]

	def root(self, i, mode=0):
		keiro = [i]
		ans = i
		while ans != self.union[ans]:
			ans = self.union[ans]
			keiro.append(ans)
		if mode == 0:
			return ans
		else:
			return ans, keiro

	def unite(self, i, j):
		root_i, list_i = self.root(i, 1)
		root_j, list_j = self.root(j, 1)
		if root_i != root_j:
			if self.level[root_i] < self.level[root_j]:
				self.level[root_j] = max(self.level[root_i] + 1, self.level[root_j])
				for node in list_i:
					self.union[node] = root_j
			else:
				self.level[root_i] = max(self.level[root_j] + 1, self.level[root_i])
				for node in list_j:
					self.union[node] = root_i

UF = Union_Find(N)

for q in range(Q):
	P, A, B = list(map(int, input().split()))
	if P == 0:
		UF.unite(A, B)

	else:
		if UF.root(A) == UF.root(B):
			print("Yes")
		else:
			print("No")

Submission Info

Submission Time
Task B - Union Find
User Awaful
Language PyPy3 (2.4.0)
Score 100
Code Size 1079 Byte
Status AC
Exec Time 606 ms
Memory 60464 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 1
AC × 19
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 167 ms 38256 KB
subtask_01_01.txt AC 398 ms 52824 KB
subtask_01_02.txt AC 171 ms 45492 KB
subtask_01_03.txt AC 464 ms 53976 KB
subtask_01_04.txt AC 496 ms 60208 KB
subtask_01_05.txt AC 246 ms 44380 KB
subtask_01_06.txt AC 277 ms 47408 KB
subtask_01_07.txt AC 521 ms 58200 KB
subtask_01_08.txt AC 500 ms 60208 KB
subtask_01_09.txt AC 164 ms 38256 KB
subtask_01_10.txt AC 172 ms 45492 KB
subtask_01_11.txt AC 476 ms 56920 KB
subtask_01_12.txt AC 525 ms 60208 KB
subtask_01_13.txt AC 432 ms 55000 KB
subtask_01_14.txt AC 185 ms 45748 KB
subtask_01_15.txt AC 502 ms 58072 KB
subtask_01_16.txt AC 506 ms 60336 KB
subtask_01_17.txt AC 582 ms 60336 KB
subtask_01_18.txt AC 606 ms 60464 KB