2017 Day 12 Part 2
This commit is contained in:
parent
405f8bf533
commit
c282317273
1 changed files with 17 additions and 3 deletions
|
|
@ -12,7 +12,7 @@ for line in input.splitlines():
|
||||||
neighbors[b].add(a)
|
neighbors[b].add(a)
|
||||||
|
|
||||||
|
|
||||||
def connected(start, neighbors) -> int:
|
def connected(start, neighbors):
|
||||||
queue = [start]
|
queue = [start]
|
||||||
seen = set()
|
seen = set()
|
||||||
while queue:
|
while queue:
|
||||||
|
|
@ -22,7 +22,21 @@ def connected(start, neighbors) -> int:
|
||||||
|
|
||||||
seen.add(node)
|
seen.add(node)
|
||||||
queue.extend(neighbors[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))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue