aboutsummaryrefslogtreecommitdiff
path: root/2025
diff options
context:
space:
mode:
Diffstat (limited to '2025')
-rw-r--r--2025/08/a.py5
-rw-r--r--2025/08/b.py4
2 files changed, 7 insertions, 2 deletions
diff --git a/2025/08/a.py b/2025/08/a.py
index b829dca..6201d09 100644
--- a/2025/08/a.py
+++ b/2025/08/a.py
@@ -7,7 +7,10 @@ class SetJoin:
7 self._parent = [i for i in range(n)] 7 self._parent = [i for i in range(n)]
8 8
9 def rep(self, i): 9 def rep(self, i):
10 return i if self._parent[i] == i else self.rep(self._parent[i]) 10 if self._parent[i] != i:
11 self._parent[i] = self.rep(self._parent[i])
12 return self._parent[i]
13
11 14
12 def join(self, i, j): 15 def join(self, i, j):
13 self._parent[self.rep(i)] = self.rep(j) 16 self._parent[self.rep(i)] = self.rep(j)
diff --git a/2025/08/b.py b/2025/08/b.py
index 0fac672..eb171f9 100644
--- a/2025/08/b.py
+++ b/2025/08/b.py
@@ -5,7 +5,9 @@ class SetJoin:
5 self._parent = [i for i in range(n)] 5 self._parent = [i for i in range(n)]
6 6
7 def rep(self, i): 7 def rep(self, i):
8 return i if self._parent[i] == i else self.rep(self._parent[i]) 8 if self._parent[i] != i:
9 self._parent[i] = self.rep(self._parent[i])
10 return self._parent[i]
9 11
10 def join(self, i, j): 12 def join(self, i, j):
11 self._parent[self.rep(i)] = self.rep(j) 13 self._parent[self.rep(i)] = self.rep(j)

Generated with cgit - Back to sebastiano.tronto.net