diff options
| author | Syndamia <kamen@syndamia.com> | 2022-12-10 09:43:46 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2022-12-10 09:43:53 +0200 |
| commit | 92bd65ac086522ddea27f556085671040f8d7378 (patch) | |
| tree | 4a6f58cf81066ace4e88846ccc00d8e5ae8f0e76 | |
| parent | bd16b90f12e03e85a62232d705824430cf64fd23 (diff) | |
| download | advent-of-code-92bd65ac086522ddea27f556085671040f8d7378.tar advent-of-code-92bd65ac086522ddea27f556085671040f8d7378.tar.gz advent-of-code-92bd65ac086522ddea27f556085671040f8d7378.zip | |
[2022/D10] Solved tasks from today
| -rw-r--r-- | 2022/Day10/input-po.txt | 137 | ||||
| -rw-r--r-- | 2022/Day10/part-one.cl | 21 | ||||
| -rw-r--r-- | 2022/Day10/part-two.cl | 27 |
3 files changed, 185 insertions, 0 deletions
diff --git a/2022/Day10/input-po.txt b/2022/Day10/input-po.txt new file mode 100644 index 0000000..7aa3810 --- /dev/null +++ b/2022/Day10/input-po.txt @@ -0,0 +1,137 @@ +addx 1 +noop +addx 2 +addx 5 +addx 3 +noop +addx -1 +addx 5 +noop +noop +addx 5 +noop +addx 3 +noop +addx 6 +addx -4 +noop +noop +addx 5 +noop +addx -32 +addx 35 +addx 5 +addx -31 +addx 7 +addx -13 +addx 2 +addx 2 +addx 5 +addx 6 +addx -5 +addx 2 +addx 5 +addx 2 +addx 2 +addx -17 +addx 18 +addx 5 +addx 2 +addx -30 +addx 31 +addx 2 +addx 2 +addx -32 +addx -1 +addx 10 +addx -8 +noop +noop +addx 6 +addx 16 +noop +addx -11 +addx 3 +addx -2 +addx 3 +noop +addx 6 +noop +addx -2 +noop +addx 7 +addx 3 +addx -2 +addx 4 +addx -20 +noop +addx -14 +addx -2 +addx 6 +addx 2 +addx 3 +noop +addx 2 +addx -1 +addx 4 +noop +addx 5 +noop +addx 2 +addx 3 +addx -2 +addx 3 +noop +addx 4 +noop +addx 5 +noop +addx 2 +addx -24 +addx -15 +addx 17 +addx -10 +addx 2 +addx -5 +addx 6 +noop +addx 3 +addx 2 +addx 2 +noop +addx 3 +addx 2 +addx 5 +addx -2 +addx 3 +addx 2 +addx 2 +addx 5 +addx 2 +addx -18 +addx -19 +noop +addx 1 +addx 2 +addx 5 +addx 3 +noop +noop +noop +noop +addx 2 +addx 5 +addx 2 +addx 3 +noop +addx -8 +addx 11 +noop +noop +addx 2 +addx 5 +addx 2 +addx 3 +noop +addx -34 +noop diff --git a/2022/Day10/part-one.cl b/2022/Day10/part-one.cl new file mode 100644 index 0000000..9b3ace6 --- /dev/null +++ b/2022/Day10/part-one.cl @@ -0,0 +1,21 @@ + +;;; https://gitlab.com/Syndamia/senzill +(require :senzill) +(use-package :senzill.math) +(use-package :senzill.collections) +(use-package :senzill.io) + +(ask-for-stream (prog-input) + (let ((X 1) (cycles 1) (check-on 20) (check-max 220) (signal-sum 0)) + + (doread-lines (inpt :read-line-options (prog-input NIL)) + (loop for i from 1 to (if (char= (char inpt 0) #\a) 2 1) + if (and (> check-on 0) (= cycles check-on)) + do (+= signal-sum (* X check-on)) + (if (< check-on check-max) + (+= check-on 40) + (setf check-on -1)) + if (= i 2) + do (+= X (parse-integer inpt :start 5)) + do (++1 cycles))) + (print signal-sum))) diff --git a/2022/Day10/part-two.cl b/2022/Day10/part-two.cl new file mode 100644 index 0000000..5ce1b78 --- /dev/null +++ b/2022/Day10/part-two.cl @@ -0,0 +1,27 @@ +;;; https://gitlab.com/Syndamia/senzill +(require :senzill) +(use-package :senzill.math) +(use-package :senzill.collections) +(use-package :senzill.io) + +(ask-for-stream (prog-input) + (let ((X 1) (cycles 0) (check-on 40) (check-max 241) (line-buff "")) + + (doread-lines (inpt :read-line-options (prog-input NIL)) + (loop for i from 1 to (if (char= (char inpt 0) #\a) 2 1) + if (and (> check-on 0) (= cycles check-on)) + do (print line-buff) + (force-output) + (setf line-buff "") + (if (< check-on check-max) + (+= check-on 40) + (setf check-on -1)) + do (setf line-buff (concatenate 'string + line-buff + (if (or (= (mod cycles 40) (- X 1)) (= (mod cycles 40) X) (= (mod cycles 40) (+ X 1))) + "#" + "."))) + (++1 cycles) + if (= i 2) + do (+= X (parse-integer inpt :start 5)))) + (print line-buff))) |
