aboutsummaryrefslogtreecommitdiff
path: root/2025
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-12-08 18:21:56 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2025-12-08 18:21:56 +0100
commit739416b040965ef61492f07c1d0196fcd850ab54 (patch)
tree8d8ddc087fe6e5eefa651c725aeddba52bc54a45 /2025
parentbb6a7fd447db8ebafe9df80097821cb0105907f7 (diff)
downloadaoc-739416b040965ef61492f07c1d0196fcd850ab54.tar.gz
aoc-739416b040965ef61492f07c1d0196fcd850ab54.zip
Small optimization
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