Day 12 13
This commit is contained in:
17
2021/12.py
Normal file
17
2021/12.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from collections import defaultdict
|
||||
|
||||
paths = defaultdict(list)
|
||||
for a,b in [line.split('-') for line in open("./2021/12.input").read().splitlines()]:
|
||||
paths[a].append(b)
|
||||
paths[b].append(a)
|
||||
|
||||
def dfs(cave, visited, one_off):
|
||||
if (cave == "end"): return 1
|
||||
if (cave.islower()): visited.add(cave)
|
||||
total = sum([dfs(i, visited, one_off) for i in paths[cave] if not i in visited])
|
||||
total += sum([dfs(i, visited, i) for i in paths[cave] if i in visited and i != 'start']) if one_off == ' ' else 0
|
||||
if (cave != one_off): visited.discard(cave)
|
||||
return total;
|
||||
|
||||
print ('Part 1:', dfs("start", set(), ''))
|
||||
print ('Part 2:', dfs("start", set(), ' '))
|
||||
Reference in New Issue
Block a user