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 |
|
|
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 |