diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2021-12-08 14:42:47 +0000 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2021-12-08 14:42:47 +0000 |
commit | 49872237e7f8a9b06986a73b3dacbf02041e7b33 (patch) | |
tree | 9c3397d0c4f6abe26ba166e700e384e4d9152d0f | |
parent | 3b35e9173e43462196629d6f84dc47da78646c62 (diff) | |
download | aoc2021-49872237e7f8a9b06986a73b3dacbf02041e7b33.tar.gz aoc2021-49872237e7f8a9b06986a73b3dacbf02041e7b33.tar.xz aoc2021-49872237e7f8a9b06986a73b3dacbf02041e7b33.zip |
day 8: cleaner
-rw-r--r-- | 8.py | 29 |
1 files changed, 11 insertions, 18 deletions
@@ -1,30 +1,23 @@ from collections import Counter from itertools import chain from utils import open_day -from enum import IntEnum, auto +from enum import IntEnum fset = frozenset -class Seg(IntEnum): - A = 0 - B = auto() - C = auto() - D = auto() - E = auto() - F = auto() - G = auto() +Seg = IntEnum('Seg', [(n, str(i)) for i, n in enumerate('ABCDEFG')]) dig = [ - fset((Seg.A, Seg.B, Seg.C, Seg.E, Seg.F, Seg.G)), - fset((Seg.C, Seg.F)), - fset((Seg.A, Seg.C, Seg.D, Seg.E, Seg.G)), - fset((Seg.A, Seg.C, Seg.D, Seg.F, Seg.G)), - fset((Seg.B, Seg.C, Seg.D, Seg.F)), - fset((Seg.A, Seg.B, Seg.D, Seg.F, Seg.G)), - fset((Seg.A, Seg.B, Seg.D, Seg.E, Seg.F, Seg.G)), - fset((Seg.A, Seg.C, Seg.F)), + fset((Seg.A, Seg.B, Seg.C, Seg.E, Seg.F, Seg.G)), + fset(( Seg.C, Seg.F )), + fset((Seg.A, Seg.C, Seg.D, Seg.E, Seg.G)), + fset((Seg.A, Seg.C, Seg.D, Seg.F, Seg.G)), + fset(( Seg.B, Seg.C, Seg.D, Seg.F )), + fset((Seg.A, Seg.B, Seg.D, Seg.F, Seg.G)), + fset((Seg.A, Seg.B, Seg.D, Seg.E, Seg.F, Seg.G)), + fset((Seg.A, Seg.C, Seg.F )), fset((Seg.A, Seg.B, Seg.C, Seg.D, Seg.E, Seg.F, Seg.G)), - fset((Seg.A, Seg.B, Seg.C, Seg.D, Seg.F, Seg.G)), + fset((Seg.A, Seg.B, Seg.C, Seg.D, Seg.F, Seg.G)), ] seg = [ fset(i for i in range(10) if seg in dig[i]) for seg in Seg ] |