aoc

My solutions for the Advent of Code
git clone https://git.tronto.net/aoc
Download | Log | Files | Refs | README

commit 739416b040965ef61492f07c1d0196fcd850ab54
parent bb6a7fd447db8ebafe9df80097821cb0105907f7
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Mon,  8 Dec 2025 18:21:56 +0100

Small optimization

Diffstat:
M2025/08/a.py | 5++++-
M2025/08/b.py | 4+++-
2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/2025/08/a.py b/2025/08/a.py @@ -7,7 +7,10 @@ class SetJoin: self._parent = [i for i in range(n)] def rep(self, i): - return i if self._parent[i] == i else self.rep(self._parent[i]) + if self._parent[i] != i: + self._parent[i] = self.rep(self._parent[i]) + return self._parent[i] + def join(self, i, j): self._parent[self.rep(i)] = self.rep(j) diff --git a/2025/08/b.py b/2025/08/b.py @@ -5,7 +5,9 @@ class SetJoin: self._parent = [i for i in range(n)] def rep(self, i): - return i if self._parent[i] == i else self.rep(self._parent[i]) + if self._parent[i] != i: + self._parent[i] = self.rep(self._parent[i]) + return self._parent[i] def join(self, i, j): self._parent[self.rep(i)] = self.rep(j)