""" day12.py advent of code, day 12 We're working on a toy graph first, 5 | 0--1--3 6--7 | | 2--4 8graph = { 0 : [1, 2], 1 : [0, 3, 5], 2 : [0, 4], 3 : [1], 4 : [2], 5 : [1], 6 : [7], 7 : [6, 8], 8 : [7] } def count_connected(id, seen): """ Return number of connected nodes. >>> len(count_connected(0, set())) 6 >>> len(count_connected(7, set())) 3 """ seen.add(id) for node in graph[id]: if node not in seen: seen = count_connected(node, seen) return seen count_connected(0, set()) """ graph = { 0 : [1, 2], 1 : [0, 3, 5], 2 : [0, 4], 3 : [1], 4 : [2], 5 : [1], 6 : [7], 7 : [6, 8], 8 : [7] } def count_connected(id, seen): """ Return number of connected nodes. >>> len(count_connected(0, set())) 6 >>> len(count_connected(7, set())) 3 """ seen.add(id) for node in graph[id]: if node not in seen: seen = count_connected(node, seen) return seen count_connected(0, set())