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)
|
||||
|
||||
|
||||
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))
|
||||
|
|
|
|||
Loading…
Reference in a new issue