Files
python-aoc-2021/day14/part2.min.py
Sebastian Seedorf c7bc2439a6 Day 14 (minified)
2021-12-15 14:47:46 +01:00

5 lines
519 B
Python

#!/usr/bin/env python3
import collections as o;import itertools as i;l=[x.strip() for x in open("input.txt")];f=l[0];r=[(k,[*(x[1]for x in v)])for k,v in i.groupby(sorted(v for x in l[2:]for v in[(x[0]+x[-1],x[:2]),(x[-1]+x[1],x[:2])]),lambda x:x[0])];c=o.Counter(f[i:i+2]for i in range(len(f)-1))
for _ in range(40):c={k:sum_val for k,v in r if(sum_val:=sum(c.get(x,0)for x in v))>0}
e={k:sum(x[1]for x in v)for k,v in i.groupby(sorted([*c.items(),(f[-1],1)]),lambda x:x[0][0])};print(max(e.values())-min(e.values()))