From 65beb3ea0223e693ac348c6133e496ada2b2352f Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 18 Dec 2024 14:20:57 +0100 Subject: Add 2019 day 7 solutions --- 2019/07/Makefile | 1 + 2019/07/machine.lisp | 6 ++++++ 2019/07/puzzle-1.sh | 14 ++++++++++++++ 2019/07/puzzle-2.sh | 19 +++++++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 2019/07/Makefile create mode 100755 2019/07/machine.lisp create mode 100755 2019/07/puzzle-1.sh create mode 100755 2019/07/puzzle-2.sh (limited to '2019/07') diff --git a/2019/07/Makefile b/2019/07/Makefile new file mode 100644 index 0000000..5a21270 --- /dev/null +++ b/2019/07/Makefile @@ -0,0 +1 @@ +include ../../Makefiles/lisp.mk \ No newline at end of file diff --git a/2019/07/machine.lisp b/2019/07/machine.lisp new file mode 100755 index 0000000..798bbb8 --- /dev/null +++ b/2019/07/machine.lisp @@ -0,0 +1,6 @@ +#!/usr/bin/sbcl --script + +(load "../interpreter.lisp") + +(intcode:run (intcode:parse "input") *standard-input* *standard-output* + :initial-arguments (mapcar #'parse-integer (cdr *posix-argv*))) \ No newline at end of file diff --git a/2019/07/puzzle-1.sh b/2019/07/puzzle-1.sh new file mode 100755 index 0000000..38fd725 --- /dev/null +++ b/2019/07/puzzle-1.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +python -c ' +import itertools +for p in itertools.permutations([0, 1, 2, 3, 4]): + print(*p) +' | while read a b c d e +do + ./machine.lisp $a 0 \ + | ./machine.lisp $b \ + | ./machine.lisp $c \ + | ./machine.lisp $d \ + | ./machine.lisp $e +done | sort -nr | head -n1 \ No newline at end of file diff --git a/2019/07/puzzle-2.sh b/2019/07/puzzle-2.sh new file mode 100755 index 0000000..4a034f7 --- /dev/null +++ b/2019/07/puzzle-2.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +mkfifo pipe +trap 'rm pipe' EXIT + +python -c ' +import itertools +for p in itertools.permutations([5, 6, 7, 8, 9]): + print(*p) +' | while read a b c d e +do + ./machine.lisp $a 0