generated from public/aoc_template
Day 20 - foreign input
This commit is contained in:
parent
d1a6dbe4bc
commit
53d5466da0
12
day20.py
12
day20.py
@ -52,9 +52,7 @@ class Conjunction(Module):
|
|||||||
class Machine:
|
class Machine:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.queue = deque()
|
self.queue = deque()
|
||||||
self.send_signals = {
|
self.send_signals = {True: 0, False: 0}
|
||||||
True: 0, False: 0
|
|
||||||
}
|
|
||||||
self.modules = {}
|
self.modules = {}
|
||||||
|
|
||||||
def add_module(self, module: Module):
|
def add_module(self, module: Module):
|
||||||
@ -75,7 +73,7 @@ class Machine:
|
|||||||
self.queue.append((sender, destination, signal))
|
self.queue.append((sender, destination, signal))
|
||||||
|
|
||||||
def push_button(self, monitor: str = None):
|
def push_button(self, monitor: str = None):
|
||||||
self.send('button', 'broadcaster', False)
|
self.send("button", "broadcaster", False)
|
||||||
monitor_highs = []
|
monitor_highs = []
|
||||||
while self.queue:
|
while self.queue:
|
||||||
sender, destination, signal = self.queue.popleft()
|
sender, destination, signal = self.queue.popleft()
|
||||||
@ -95,11 +93,13 @@ class Day(AOCDay):
|
|||||||
[
|
[
|
||||||
(32000000, "input20_test"),
|
(32000000, "input20_test"),
|
||||||
(11687500, "input20_test2"),
|
(11687500, "input20_test2"),
|
||||||
|
(856482136, "input20_dennis"),
|
||||||
(1020211150, "input20"),
|
(1020211150, "input20"),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
(224046542165867, "input20_dennis"),
|
||||||
(238815727638557, "input20"),
|
(238815727638557, "input20"),
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
|
|
||||||
def parse_input(self) -> Machine:
|
def parse_input(self) -> Machine:
|
||||||
@ -146,6 +146,6 @@ class Day(AOCDay):
|
|||||||
return math.lcm(*list(input_highs.values()))
|
return math.lcm(*list(input_highs.values()))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == "__main__":
|
||||||
day = Day(2023, 20)
|
day = Day(2023, 20)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
58
inputs/input20_dennis
Normal file
58
inputs/input20_dennis
Normal file
@ -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
|
||||||
Loading…
Reference in New Issue
Block a user