From 53d5466da0352773b5434f775f9faf6141a86f65 Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Wed, 20 Dec 2023 18:19:36 +0100 Subject: [PATCH] Day 20 - foreign input --- day20.py | 12 ++++----- inputs/input20_dennis | 58 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 inputs/input20_dennis diff --git a/day20.py b/day20.py index a5c9122..f6ac837 100644 --- a/day20.py +++ b/day20.py @@ -52,9 +52,7 @@ class Conjunction(Module): class Machine: def __init__(self): self.queue = deque() - self.send_signals = { - True: 0, False: 0 - } + self.send_signals = {True: 0, False: 0} self.modules = {} def add_module(self, module: Module): @@ -75,7 +73,7 @@ class Machine: self.queue.append((sender, destination, signal)) def push_button(self, monitor: str = None): - self.send('button', 'broadcaster', False) + self.send("button", "broadcaster", False) monitor_highs = [] while self.queue: sender, destination, signal = self.queue.popleft() @@ -95,11 +93,13 @@ class Day(AOCDay): [ (32000000, "input20_test"), (11687500, "input20_test2"), + (856482136, "input20_dennis"), (1020211150, "input20"), ], [ + (224046542165867, "input20_dennis"), (238815727638557, "input20"), - ] + ], ] def parse_input(self) -> Machine: @@ -146,6 +146,6 @@ class Day(AOCDay): return math.lcm(*list(input_highs.values())) -if __name__ == '__main__': +if __name__ == "__main__": day = Day(2023, 20) day.run(verbose=True) diff --git a/inputs/input20_dennis b/inputs/input20_dennis new file mode 100644 index 0000000..98713c2 --- /dev/null +++ b/inputs/input20_dennis @@ -0,0 +1,58 @@ +%cv -> xz +%kt -> qx, rz +%cb -> kt +%pl -> sf, db +%zd -> ln, gf +%bf -> qx, pf +%xz -> jd +%xm -> db +%vz -> cr, vc +%qq -> qm, gf +&xn -> th +%nn -> ff, db +%gx -> cd +&qn -> th +%qk -> vc +&xf -> th +%qj -> xm, db +%fn -> pr, gf +%sf -> bp +%jd -> qx, vm +%mc -> ds, db +%tj -> lc, gf +%jz -> qj, db +%sb -> ks, vc +%ln -> gf, qq +%bx -> qx, qp +broadcaster -> sr, ch, hd, bx +%ch -> db, mc +%ds -> cc +&qx -> cb, cv, bx, xz, vm, zl +%bp -> db, jz +&zl -> th +%vl -> gf, fj +&db -> ff, ds, sf, ch, cc, xf +&th -> rx +%cr -> gx, vc +%sr -> gf, vl +%lr -> sb +%hv -> lr +%cl -> qx, bf +%lc -> gf, fn +%pm -> vc, qk +%cc -> nn +%gm -> tj, gf +%vm -> cl +%ff -> pl +%qp -> cb, qx +%pf -> qx +&vc -> lr, hd, ks, qn, gx, nh, hv +%qm -> gm +%nh -> hv +%rz -> qx, cv +%ks -> vz +%fj -> zd +&gf -> fj, qm, xn, sr +%pr -> gf +%cd -> pm, vc +%hd -> vc, nh