From c282317273743088c81a122989e124a66c152b4d Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Fri, 31 Jul 2026 16:09:49 -0400 Subject: [PATCH] 2017 Day 12 Part 2 --- 2017/day12.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/2017/day12.py b/2017/day12.py index dd62e4f..83d9493 100644 --- a/2017/day12.py +++ b/2017/day12.py @@ -12,7 +12,7 @@ for line in input.splitlines(): neighbors[b].add(a) -def connected(start, neighbors) -> int: +def connected(start, neighbors): queue = [start] seen = set() while queue: @@ -22,7 +22,21 @@ def connected(start, neighbors) -> int: seen.add(node) queue.extend(neighbors[node]) - return len(seen) + return seen -print(connected("0", neighbors)) +def groups(neighbors) -> int: + seeds = set(neighbors.keys()) + count = 0 + + while seeds: + start = seeds.pop() + seen = connected(start, neighbors) + seeds.difference_update(seen) + count += 1 + + return count + + +print(len(connected("0", neighbors))) +print(groups(neighbors))