Submission #4503311


Source Code Expand

#17:51-
class UnionFind:
  def __init__(self, num):
    self.rank = [0]*num
    self.par = [i for i in range(num)] #基準(par = parentのpar)
    self.n   = num
    self.size = [1]*num

#親を探す
  def find(self, x):
    if self.par[x] == x:
      return x
    else:
      self.par[x] = self.find(self.par[x]) #自分じゃなきゃ親を探す
      return self.par[x]

#集合を結合する(結合する前に親のポインタを取得する)
  def union(self, x, y):
    x = self.find(x)
    y = self.find(y)
    if x == y:
      return
    if self.rank[x] > self.rank[y]: #ランクの高い方に基準を合わせる
      self.par[y] = x
      self.size[x]+=self.size[y]
      self.size[y] = 0
    else:
      self.par[x] = y
      self.size[y] += self.size[x]
      self.size[x] = 0
      if self.rank[x] == self.rank[y]:
        self.rank[y] += 1

  def same(self, x, y):
    return self.find(x) == self.find(y)

  def all_find(self):
    for n in range(len(self.par)):
      self.find(n)

n,q=map(int,input().split())
uf=UnionFind(n)
for i in range(q):
  p,a,b=map(int,input().split())
  if p==0:
    uf.union(a,b)
  else:
    print("Yes" if uf.same(a,b) else "No")

Submission Info

Submission Time
Task B - Union Find
User ryosuke07117
Language Python (3.4.3)
Score 100
Code Size 1231 Byte
Status AC
Exec Time 1758 ms
Memory 9264 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 17 ms 3064 KB
subtask_01_01.txt AC 1040 ms 3828 KB
subtask_01_02.txt AC 26 ms 8600 KB
subtask_01_03.txt AC 1645 ms 3828 KB
subtask_01_04.txt AC 1729 ms 9256 KB
subtask_01_05.txt AC 122 ms 3188 KB
subtask_01_06.txt AC 129 ms 8624 KB
subtask_01_07.txt AC 1686 ms 3700 KB
subtask_01_08.txt AC 1749 ms 9264 KB
subtask_01_09.txt AC 18 ms 3064 KB
subtask_01_10.txt AC 26 ms 8600 KB
subtask_01_11.txt AC 1704 ms 3700 KB
subtask_01_12.txt AC 1758 ms 9264 KB
subtask_01_13.txt AC 1413 ms 3572 KB
subtask_01_14.txt AC 30 ms 8624 KB
subtask_01_15.txt AC 1688 ms 3700 KB
subtask_01_16.txt AC 1710 ms 9264 KB
subtask_01_17.txt AC 1464 ms 8624 KB
subtask_01_18.txt AC 1450 ms 8624 KB