From 43f504ac06ebce5bb669f177271a4ffe8625cc9e Mon Sep 17 00:00:00 2001 From: Fedor Lyanguzov Date: Sun, 11 Dec 2022 17:37:17 +0300 Subject: [PATCH] 10 --- 10/10.py | 32 +++++++++++++ 10/input | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 10/10.py create mode 100644 10/input diff --git a/10/10.py b/10/10.py new file mode 100644 index 0000000..54e6cb8 --- /dev/null +++ b/10/10.py @@ -0,0 +1,32 @@ + +with open('input') as file: + cmds = file.read().strip().split('\n') + +def execute(cmds): + x = 1 + for cmd in cmds: + if cmd=='noop': + yield x + elif cmd.startswith('addx '): + _, v = cmd.split() + v = int(v) + yield x + yield x + x += v + +def f(x): + return ((res, i) for res, i in zip(execute(cmds), range(1, x+1)) if i in range(20, 260, 40)) + + +print(sum(res*i for res, i in f(220))) + +x = iter(execute(cmds)) +for i in range(6): + for j in range(40): + r = next(x) + if r-1<=j<=r+1: + c = "#" + else: + c = '.' + print(c, end='') + print() diff --git a/10/input b/10/input new file mode 100644 index 0000000..c26a664 --- /dev/null +++ b/10/input @@ -0,0 +1,139 @@ +noop +addx 12 +addx -5 +addx -1 +noop +addx 4 +noop +addx 1 +addx 4 +noop +addx 13 +addx -8 +noop +addx -19 +addx 24 +addx 1 +noop +addx 4 +noop +addx 1 +addx 5 +addx -1 +addx -37 +addx 16 +addx -13 +addx 18 +addx -11 +addx 2 +addx 23 +noop +addx -18 +addx 9 +addx -8 +addx 2 +addx 5 +addx 2 +addx -21 +addx 26 +noop +addx -15 +addx 20 +noop +addx 3 +noop +addx -38 +addx 3 +noop +addx 26 +addx -4 +addx -19 +addx 3 +addx 1 +addx 5 +addx 3 +noop +addx 2 +addx 3 +noop +addx 2 +noop +noop +noop +noop +addx 5 +noop +noop +noop +addx 3 +noop +addx -30 +addx -4 +addx 1 +addx 18 +addx -8 +addx -4 +addx 2 +noop +addx 7 +noop +noop +noop +noop +addx 5 +noop +noop +addx 5 +addx -2 +addx -20 +addx 27 +addx -20 +addx 25 +addx -2 +addx -35 +noop +noop +addx 4 +addx 3 +addx -2 +addx 5 +addx 2 +addx -11 +addx 1 +addx 13 +addx 2 +addx 5 +addx 6 +addx -1 +addx -2 +noop +addx 7 +addx -2 +addx 6 +addx 1 +addx -21 +addx 22 +addx -38 +addx 5 +addx 3 +addx -1 +noop +noop +addx 5 +addx 1 +addx 4 +addx 3 +addx -2 +addx 2 +noop +addx 7 +addx -1 +addx 2 +addx 4 +addx -10 +addx -19 +addx 35 +addx -1 +noop +noop +noop