From 15aab5d23ae97f4dd498bf3460be1ef22e31f3b5 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 2 Dec 2022 12:10:03 +0200 Subject: [2022] Updated names of folders --- 2022/Day2/input-po.txt | 2500 ------------------------------------------------ 2022/Day2/part-one.cl | 45 - 2022/Day2/part-two.cl | 45 - 3 files changed, 2590 deletions(-) delete mode 100644 2022/Day2/input-po.txt delete mode 100644 2022/Day2/part-one.cl delete mode 100644 2022/Day2/part-two.cl (limited to '2022/Day2') diff --git a/2022/Day2/input-po.txt b/2022/Day2/input-po.txt deleted file mode 100644 index 18f755a..0000000 --- a/2022/Day2/input-po.txt +++ /dev/null @@ -1,2500 +0,0 @@ -B Z -A Y -A Y -B X -A Y -B X -A X -B X -B X -B X -C Y -C Y -A X -A Y -A Y -B X -A X -C Y -B Z -A X -B Z -C Y -C Z -A X -C Z -A Y -A X -B Z -B X -A Z -B Z -A X -A Z -B X -B X -C Y -B X -A X -A Y -C Y -B Z -C X -A X -B Z -B Y -B X -A Z -B Z -B Z -A X -B Z -B X -C X -A X -B X -B X -B Z -B X -B Z -A Y -B Z -B X -C Y -A Y -C Y -B Z -A Y -B X -A Y -C Y -A Y -B Z -B Z -C Z -B X -A X -C X -B Y -A Z -C Z -B Z -A Y -A X -B Z -C Z -B X -B Z -A Y -B X -A Y -A Y -A X -C Y -B X -B Z -C Y -B X -B X -C Z -C Y -C Y -A X -B Z -A X -A X -B Y -A Y -B Z -B Z -B Z -A Y -A X -A Y -B X -B Z -A X -B X -B X -C Y -B Z -A X -A Y -B Z -A X -B Z -A Z -A Y -A Z -B Z -A X -A Z -A X -C Y -A Y -A X -B Z -C Z -B Y -B Z -B X -A X -C Y -B Z -B Y -B X -B X -A X -C Y -A Y -B X -A Y -A Y -A Y -B X -A Z -A Y -B X -A X -A Z -B X -B X -C Z -C Y -B X -B X -A Y -C Y -C Y -A X -B Z -B Z -A Y -C Y -B Z -A Y -A Y -A X -B Z -B X -A X -A X -B X -A X -B X -A X -B X -A X -B Y -B Z -A X -B X -B X -B Z -A X -B Z -A Y -B Z -A X -A Z -B X -A X -A Y -C Y -C Y -B Z -A X -C Y -A X -B X -A Y -A X -B X -B X -A Y -A X -A X -A Z -C Y -A X -B X -A X -A X -A X -A Y -A Y -C Z -C Z -A Y -B Z -A X -B X -C Y -B Z -B Z -C Y -C Y -A Y -A Y -A Y -A Y -C Z -A Y -B Z -B Z -C Z -C Y -C Y -C Y -C Y -C X -A X -B Z -B Z -B Z -B Z -C Y -B Z -A X -A X -A X -B Z -A Y -C X -B Z -A X -A Y -B Z -C Z -B X -A X -B Z -A X -A Y -B X -C Y -B X -B Z -A X -B X -B X -A X -B X -B Z -B X -A X -B X -B X -B X -B Z -B X -B Z -C Y -A X -A X -C Y -C Z -A Y -B Z -B Z -A X -B Z -A Y -A X -A Y -A Y -A Y -B Z -C Y -A X -A Y -A Z -B X -A Z -B X -B X -B X -A X -A X -C Y -B X -A X -B Z -A Y -A Y -A X -B Z -A Y -B X -A Y -B Z -C Y -A Y -C X -B X -B Z -C Y -A Y -A X -A X -B Y -C Z -B Z -A Y -A X -A Y -A X -A Y -A Y -A X -A Y -A Z -B X -A X -C Y -A X -C X -A Y -A X -A Y -A X -A X -B X -A X -B Z -A X -C Z -B Z -B Z -A Y -B X -B X -A Y -B X -B X -C Y -A Y -C X -C Y -B Z -A Y -A X -C Z -A X -B X -B X -C X -A Y -B Z -A X -A Z -C Y -B Z -C Y -C X -A Y -B Z -B Z -A Y -B Z -B X -B X -B Z -B Z -B X -C Y -A Y -A X -A Y -B Z -A X -A Y -A Y -A X -B X -A Z -A X -B Z -B Z -A X -C Y -C Y -A Y -A X -A Y -B Z -B Z -B X -B Z -A Y -A X -A Y -A Y -A Z -C Y -C Z -A X -C Y -A Y -A X -A Y -A X -C Z -B Z -B X -B X -B X -A X -A Z -B Z -B X -B X -B X -B X -B X -B X -C Y -B X -B Z -A X -C Z -A X -C X -B Z -A X -A Y -A Z -C Y -B X -C Z -C Y -A Z -B Z -C X -A Y -A Z -B Z -B Z -B Z -A X -A X -B X -A X -B Y -A X -A Y -A Y -B X -A Y -B X -C Z -A Y -C Y -A X -A X -A Y -B X -B Z -A X -B X -B Z -A Z -C Z -B Z -B X -A X -A X -B X -A X -A Y -A Y -B Z -A X -A X -A X -A X -C Y -C Z -A X -A Z -A X -B X -A X -B X -B Z -B X -C Y -B Z -A X -B Z -A Z -A Y -A Y -A X -A X -B Z -A Y -A X -A X -B X -B Z -A Z -A Y -A Z -B X -B Z -A Y -A Z -B X -B Z -A Z -A Y -A Y -A X -A Y -B Z -A Y -A X -A X -A Y -A Y -A X -A Y -A X -C Y -B Z -B X -B X -B X -A X -B Z -B Z -A X -B Z -A Y -C Y -C Y -A Y -B Z -B X -C Y -A X -A Z -B X -B X -C Y -A X -B X -B Z -A Y -A X -B Z -A Y -A Y -C Z -B Z -B Z -A X -C Y -A Y -A Z -A Y -C Z -B Z -A Y -C Z -B X -A X -B X -B X -C Y -A Y -B Y -A Y -B X -A Y -A Y -B X -B Z -B X -A Y -A Y -C Y -C Y -A Y -C Y -A Z -B Z -A X -A Z -A X -C Y -A X -A X -B Z -B Z -C X -C Z -A X -C Y -B Z -B X -A Y -A X -A X -B Z -A X -A Y -A Y -A X -B Z -C Y -A Y -B Z -A Y -B X -A X -A X -A Y -A X -B Z -C Y -A X -A Z -B Z -B Z -A X -C Y -A X -B X -A X -A X -B X -A X -B X -B Z -C X -A X -C Y -C Y -B Z -B X -C Y -C X -A Y -B X -A Y -B Z -C Z -B Z -A Y -A X -B X -A Y -A Y -B Z -B X -A Y -B X -A X -A Y -B Z -B X -A Z -A Y -A X -A Y -B Z -B Z -A X -A X -B Z -A X -B Z -A X -B X -B X -A X -A Y -B X -A Y -A X -B X -B X -B Z -B X -C X -B Z -A Y -B Z -A Y -A X -B Z -B X -B X -C Y -B X -B X -A X -A Y -A X -B X -C Y -C Z -A X -B X -B X -A Y -B Z -B X -A X -B X -C X -A Y -A Y -A Y -A Y -C Y -A Y -A Y -A X -A Y -B X -A Z -A X -B Z -B X -A X -B Z -A X -B Y -A X -A X -A Y -B X -B Z -C X -A X -A X -A Y -B Z -C Z -A X -C X -B Z -B X -B X -B Z -B Z -A X -C Z -A Y -A Y -B Y -B X -B Y -A X -B Z -B Z -A X -B X -A X -B Z -A Y -A Y -B Y -A Y -A Y -A X -B X -A X -B Z -B X -B Z -C Y -A X -B Z -A Z -A X -A X -B X -B X -A Z -B X -A X -A Z -A X -A Z -A Y -A X -A Z -C X -A X -C Y -B X -A X -B X -B X -B X -B X -A X -B Z -B X -A Y -B X -A Y -B X -B X -A Y -B X -A X -A X -A Y -B Z -A Z -B Z -C Y -B Y -A Y -A X -A Y -B Z -A X -B Z -B X -A X -B X -B X -A X -A Y -B Z -C Y -A Y -B Z -C Y -A X -C Y -A Y -A Y -A X -C Y -A Y -B Z -B Z -A Y -B Z -B Z -C Y -A X -A Y -A Y -C Z -A X -A Y -A Y -A X -A Y -B X -A Y -A X -A Y -B X -B X -A Y -A Y -A Y -C Y -A X -A X -B X -A X -B Z -C Y -B Z -C Y -A X -C Z -C Y -B Z -B Z -A Y -B X -B Z -C Y -A X -A X -A X -B Z -A X -A Y -B Z -C X -C Y -A Z -A X -C Y -A X -A X -B X -C Y -A Z -B Z -C Y -B X -A X -A X -C Y -A X -A X -B Z -B X -A X -A Y -B X -A X -A X -B X -C Y -A Y -C Z -A Y -B Z -A X -B X -B X -A X -B X -B Y -A X -C Y -A Y -A Y -B X -A Y -B X -B Z -A Y -C Y -C Y -A Z -B Z -C Z -B Z -A Z -A Y -B Z -A X -B Z -A Z -A Z -B Z -B X -A X -A X -A X -B X -A X -A Y -C Y -B Z -B X -A X -B Z -B X -B Z -A X -B X -B X -B X -A X -B Z -A X -B X -A X -C Y -A X -A Y -A Z -C Y -A Y -A X -C Y -B Z -A X -B Z -A X -B Z -B Z -B Z -C Z -A Z -B X -A X -A Y -A Y -A Y -B X -C X -A Y -A X -A X -C Y -A Y -A Y -B X -C Y -A Z -A Z -A Y -C Y -B Z -A Z -C Y -A X -B X -B X -B X -A X -C Z -C Y -B Z -B Z -A X -A Y -A Y -A Y -C X -A Z -A X -B X -B Z -B Z -A Z -A X -B Z -A Y -B Z -C X -A X -B Z -A Y -A Y -A X -B Z -B X -A Y -A Y -A Y -A Y -A Z -A X -C Y -A Y -A Y -C Y -C Y -B X -C Y -A X -A Z -B Z -C Y -A Z -A X -A Z -A Y -C Y -B Z -A Y -B X -B X -A X -B X -A Z -B Z -A X -A X -C Y -A Y -C Y -C Y -B X -A X -C X -B X -B Z -A Y -B Z -A X -A Y -B Z -B Z -A Y -A Y -A X -A Y -B Z -A Y -B Z -C Y -C Y -B X -A Z -A Y -C Y -B X -B Z -B X -C Y -B Z -A Y -A Y -B Z -A X -A Z -B X -A X -C Z -B X -B X -B X -C X -C Y -B X -A Y -B Z -B X -B Z -C Y -A X -A Y -A X -B X -B Z -B Z -A X -B X -C Y -C X -B Z -A X -A Y -B Z -B Y -C Y -C Y -A Y -B Z -B X -A Y -B Z -A X -A X -A Y -B Z -A Y -A X -B Z -A X -C Y -A Y -C Z -B Z -C Y -B Z -A Y -C Y -A X -A Y -B X -B Z -B X -B Z -A Y -B X -A Y -B Z -A Y -C Y -A X -A X -B Y -B X -A Y -C X -B Z -B Z -A Y -C Z -B X -A X -A Y -B Z -C Y -C Y -A Y -A Y -B X -C Y -A Y -B X -A X -B X -B Z -A X -A Y -B X -B X -C Y -B Z -A X -A X -B X -C Y -B X -A X -A X -B X -C Z -C Y -B X -B Z -A X -A Y -C Y -A Y -A Y -A Y -B X -C Y -B X -A X -A Y -A X -B Z -A Z -B X -A Y -B X -A Y -B X -B Z -A X -A X -B Z -A X -A Y -B X -B Z -B Z -A X -A Y -A Y -A X -A X -B X -B Z -B Y -A X -C Y -A Y -C Y -A Y -C X -B X -B X -A X -B Z -A X -C Y -B X -C Y -A Z -A X -B Y -A X -B X -B Z -A Z -C Y -A Y -A Z -A Y -A X -A Y -A X -A X -A X -B Z -B Z -C X -A X -C Z -B X -C X -B Z -B Z -A Z -B X -A Y -B Z -C Y -A X -C Y -C Y -B Z -A Y -A Z -A X -B Z -B X -C Z -C Y -A Y -C Z -B X -B Z -C Y -A X -B X -C Z -B Z -C Y -B X -A Y -B Z -C X -A Z -A X -A Y -B Z -B X -B X -B X -B Z -A Z -A X -B Z -B X -A X -A Y -B X -B X -A X -A X -B X -B X -C Y -A Y -C Z -A Y -A Y -A X -B X -B Z -A X -B X -A X -B X -A Y -C Y -A Y -A X -A Y -A Y -C Y -B Z -B Z -A X -A Y -C Y -C Y -A Y -A X -A X -C Y -B X -A Y -B Z -C Y -B Z -A X -A Y -A X -B Z -B X -C Y -A Z -C X -A Y -A X -C X -B X -A Y -A X -B Z -B Z -C Y -A X -A Y -A Y -B X -A Y -A X -C Y -B X -C Y -A Y -A Y -A Y -A X -A X -C Z -B X -C Y -B Z -A X -A Y -B Z -C X -B Z -A X -C Y -C Y -B Z -B Z -A X -C Y -C Y -A Y -C Y -B X -B Z -A Z -C Y -A Z -B Z -A X -B Z -A X -B Z -A X -A Y -A X -B Z -A X -A X -A X -B X -C Y -B Z -B X -A Y -A Y -C Y -B X -A Z -C Z -C Y -A X -A Y -A X -B Z -A X -B X -C Z -A Y -C Y -A Y -A Y -A Z -C Y -A X -B Z -C X -B Z -A X -B Z -B Y -A X -C Y -A X -A Y -B X -A X -B X -A Z -A X -A Y -B X -A Y -B X -C Y -B X -A X -A Y -A X -B X -A X -A X -B X -A Y -B Y -A X -A Y -A X -B X -C Y -A X -A Z -C Y -A Y -C Z -B X -B Z -A Y -C X -A Z -A X -A X -B Z -C X -A Y -A X -A Y -A X -A Y -B Z -B X -A Z -B Z -A X -A Y -B X -B Z -A Y -B Z -C X -B Z -A X -B X -B X -C Y -B X -B Z -A X -A Y -B X -A X -B Z -A X -B Z -B Z -C Y -C Y -B Z -B X -B Z -A X -A Y -A X -B X -B Z -A Y -B Z -B X -B X -B X -B Z -B Z -A X -B X -A Y -B X -C Y -B Z -B Z -B X -C Z -A Y -A Y -B Z -B Z -A X -C Z -A Y -A X -A Y -B X -C Y -A Y -A X -B X -B Z -A Z -A Y -A Z -A X -B X -B X -A Z -A Y -A X -C Y -A Y -A X -C Z -A X -B X -A Y -B X -A Y -A X -A Y -B Z -B Z -C Z -A Y -A X -A Y -A Z -A Y -B Z -B X -A X -A X -B Z -C X -A Y -A X -A Z -C X -C Y -B Z -A Y -B X -B Z -C X -B Z -A Y -B Z -B X -A Y -B Z -B X -A X -B Z -C Y -A Y -B Z -A X -A X -B Z -A X -C Y -A X -B X -B Z -B Z -C Y -A X -B Z -C Z -B Z -A Y -B Z -B Z -A X -B Z -A X -B X -A X -A X -B Z -B X -A Z -B Z -B X -B Z -B Z -B Z -B Z -A Y -B X -A Y -B Z -B X -A X -A X -B X -B Z -C Y -B Z -B X -B Z -B Z -C Y -A X -A Y -B X -A Z -B Z -B Z -A X -A Y -B Z -A Z -A Y -A Y -A Y -A Y -C Y -B Z -A X -A X -B X -A Y -A Y -A Y -A Y -B X -B Z -C Y -B X -B X -A Y -B X -B Z -A X -C X -B X -B X -B X -C X -C Y -A Y -A X -B X -A Z -C X -B Z -C Y -B Z -A Y -A X -B X -B X -B X -A Y -B Z -A Z -C Y -A Y -A X -B Z -C Y -A Y -A X -B Z -C Z -C Y -A Y -A X -A Y -C Z -A Y -B Z -B X -B X -C Z -C Y -C Y -C Z -A Y -A Z -C Z -A Y -A X -B Z -A Y -A X -C X -A Y -C Y -C Y -A X -B Z -B X -A Z -B X -A X -C Y -A Z -B Z -A X -B Z -B X -A Y -C Z -B X -B Z -C Y -A X -B Z -B X -A Y -B X -C X -A X -A X -A X -A X -C Y -C Y -A X -B Z -A X -A Y -A Y -A X -A X -B Z -B Z -B X -A Y -A Z -C Y -A X -A Y -B Z -B X -B X -A X -C X -B Z -C Y -C Z -B Z -A X -B Z -A Y -A Y -A Y -C Z -C Y -A Y -C Y -A Y -A X -B Z -B Z -B X -C Z -A Y -C X -B Z -A Y -B Z -B X -B Z -A X -A X -B Z -C Y -A Z -A Y -B Z -A Z -C Y -B Z -B X -A X -B Z -B X -A X -B Z -A X -A X -B Z -C Y -B Z -A Y -A X -A X -C X -A Y -B Z -C Y -A Z -C Y -B X -A X -B X -C X -C Y -B Z -B Z -A Y -A Z -B X -B Z -A Y -B X -A Z -C Y -C Z -C Y -A Y -C X -C X -B X -A Y -A X -B X -B X -C Z -C X -A X -A Y -B X -B X -C X -B Z -A Y -B Z -A Y -B Z -C Y -A X -A X -B X -B Z -A X -C Y -B X -A X -A X -A Y -A Z -B X -A X -A Y -A Z -B X -B Z -A Y -A X -B X -A Y -C Y -B Y -B X -A Y -C X -A Z -C Y -A X -B Y -C Y -B Z -B X -C Y -C Y -A Y -A X -C X -A Z -A X -B Z -B X -B X -A X -B X -A Z -B X -B Z -B Z -C Z -B Z -B X -C Y -C Y -A Z -C X -A X -B Z -A X -C Y -A X -A Z -B Z -B Z -A X -B Z -B Z -A X -C Z -B Z -B X -C X -A Z -B X -A Y -B Z -C Y -B Z -B X -A Y -B Z -A X -B Z -A Y -A Z -B Z -C Y -C Y -A Z -B Z -B X -B X -C Z -B Z -B Z -A X -A X -A X -A X -A X -C Y -A X -B Z -A X -B Z -C Y -C X -A Y -B X -A X -B Z -A Y -B Z -C X -A Y -B X -A X -A Y -B Z -A Y -A X -B X -B Y -B X -B Z -B X -A X -B X -B X -B X -A Z -A X -A X -B X -C Y -A X -A X -B X -B X -B X -B X -A Y -A X -B Z -A X -A Y -C Y -B Z -A Y -A X -C Z -A X -B Z -A X -B Z -B Z -B Z -C Y -B X -C Y -A Z -B Z -A X -A Y -A Y -A Y -B X -B Z -B Z -A Y -B Z -B Z -B X -A X -B Z -A Y -A Y -A X -B Z -A X -A X -B Z -C Y -B X -A X -A X -A Z -C Y -A X -A X -A X -A X -A X -C Y -A X -A X -B X -B Z -C Z -B X -A Y -B Z -A X -A Y -B Z -B Z -B Z -B Z -A X -A Y -A Y -B X -A Y -A Z -A Y -B Y -A X -B Z -A X -A Y -C Y -B Z -C Y -A X -B Z -A X -A Z -B Z -A X -B X -C Y -A Y -A X -A Z -C Y -A Z -A Y -A Y -A X -A X -A Z -A Y -B X -B Z -B X -B X -C Y -A Y -A X -B X -A X -B Z -A X -A X -B Z -C Y -B X -C Y -A X -B X -C Z -A Y -B X -A Y -A Y -B X -C Y -B Z -A Y -B Z -A Y -A X -A X -A Y -B Z -B Z -A Y -A X -A X -B X -B Z -A Y -A X -C Y -B X -C Y -B Z -B Z -B X -A Y -B X -B X -A X -C Y -C Y -B Z -B X -A Y -C Z -C Z -C Y -A Y -B X -B Z -B X -A X -B Z -A Y -A X -C Y -B X -A Y -B X -A Z -A X -A Y -C Y -A Y -A X -C Y -C Z -B X -A Y -C Y -B Z -B X -A X -B X -B X -C Y -B Z -B Z -B Z -B X -B Z -A Y -B Y -B Z -A Z -A X -B Y -A X -B Z -A Y -B X -A X -B Z -C Z -B Z -B Z -A Y -B X -A X -A X -B X -A Y -A Y -A X -C Z -C X -A Y -C X -A Y -A Z -C Y -A X -B X -A X -B Z -A X -C Y -A Y -B X -C Y -A Y -A Z -A Y -A Y -B Z -C Z -C Y -A Y -A Y -B X -C X -A Z -B Z -C Y -A X -A Y -B X -A Y -C Y -C Z -A Y -B Z -A X -C Y -B X -B Z -A X -C Z -B Z -C Y -C Z -B Z -A X -A Y -A X -B X -B Z -B X -A X -B Z -C Y -A Z -A Z -C Y -A Y -C X -B X -A X -A X -B X -B Z -B X -B Z -B Z -A X -B X -A X -A Y -A X -C Z -B Z -A X -C Z -C Z -C X -A X -B X -A X -A Z -A X -C Z -A X -A X -B Z -C Z -C Y -B Z -B X -A X -A X -A Y -B Z -A Y -B X -B Z -C X -B Z -B X -A Y -B Z -A Z -A Y -A Y -B X -C X -A Y -A Y -C Y -C Y -B Z -B X -C Y -C Y -A Y -A X -A Y -A Y -B Z -B X -A X -B X -B Z -B Z -A Z -A Z -A Z -A X -B X -B Z -A X -B Z -A X -B Z -B X -C Z -B Y -A Y -A Y -A X -A X -B Z -B Z -B X -A Y -C Y -B X -A X -B X -C Y -A X -A X -B X -C Y -C Y -C X -B X -C Y -A Z -B Z -B Z -B Z -B X -B Z -A X -B X -A X -A Y -C Z -B X diff --git a/2022/Day2/part-one.cl b/2022/Day2/part-one.cl deleted file mode 100644 index e93cae8..0000000 --- a/2022/Day2/part-one.cl +++ /dev/null @@ -1,45 +0,0 @@ -(defvar *prog-input*) - -(let ((ui (read-line))) - (if (equal ui "") - (setq *prog-input* *standard-input*) - (setq *prog-input* (open ui)))) - -(let - ((cal (read-line *prog-input* NIL)) (total-score 0) - (your-rps '(#\0 #\X #\Y #\Z)) (enemy-rps '(#\0 #\A #\B #\C)) - (cy-rps 0) (ce-rps 0)) - - (loop until (or (equal cal "end") (not cal)) do - ;; Rock is 1, paper is 2, scissors is 3 - (setq ce-rps (position (char cal 0) enemy-rps)) - (setq cy-rps (position (char cal 2) your-rps)) - - ;; We want, when we lose to add 3 * 0, when we draw to add 3 * 1 and when we win to add 3 * 2 - ;; To get numbers 0, 1, and 2, we'll use `3 mod N` - ;; Writing down all possible combinations - ;; (from left to right, columns are "Your choice", "Enemy choice", "Result"): - ;; 1 1 | 1 = 3 % 1 (Draw) - ;; 1 2 | 0 = 3 % 3 (Lose) - ;; 1 3 | 2 = 3 % 2 (Win) - ;; ----+----------------- - ;; 2 1 | 2 = 3 % 2 (Win) - ;; 2 2 | 1 = 3 % 1 (Draw) - ;; 2 3 | 0 = 3 % 3 (Lose) - ;; ----+----------------- - ;; 3 1 | 0 = 3 % 3 (Lose) - ;; 3 2 | 2 = 3 % 2 (Win) - ;; 3 3 | 1 = 3 % 1 (Draw) - ;; We notice, that N (in "3 % N") is a rotation of the numbers 3, 2, 1, where if your choice - ;; is 3, we don't rotate them, if it's 2 we rotate by one (backwards) and so on. - ;; We can get 3, 2, 1 from the enemie's 1, 2, 3 by subtracting them from 4. Then we can use - ;; your choice to do the "rotation" (since we're doing mod, 3 % 3 = 3 % 6). - (setq total-score (+ total-score (* 3 (mod (+ (- 4 ce-rps) cy-rps) 3)) cy-rps)) - - (setq cal (read-line *prog-input* NIL))) - - (print total-score)) - -(if (not (eq *prog-input* *standard-input*)) - (close *prog-input*)) - diff --git a/2022/Day2/part-two.cl b/2022/Day2/part-two.cl deleted file mode 100644 index 40090e2..0000000 --- a/2022/Day2/part-two.cl +++ /dev/null @@ -1,45 +0,0 @@ -(defvar *prog-input*) - -(let ((ui (read-line))) - (if (equal ui "") - (setq *prog-input* *standard-input*) - (setq *prog-input* (open ui)))) - -(let - ((cal (read-line *prog-input* NIL)) (total-score 0) - (your-rps '(#\0 #\X #\Y #\Z)) (enemy-rps '(#\0 #\A #\B #\C)) - (cy-rps 0) (ce-rps 0)) - - (loop until (or (equal cal "end") (not cal)) do - (setq ce-rps (position (char cal 0) enemy-rps)) - ;; We reuse numbers 1,2,3 to, for now, signify your strategy - (setq cy-rps (position (char cal 2) your-rps)) - - ;; Similarly to part-one.cl, if we write down the table of possible combinations - ;; (from left to right, columns are "Your strategy", "Enemy choice", "What your choice should be"): - ;; 1 1 | 3 = 1 + 2 - ;; 1 2 | 1 = 1 + 0 - ;; 1 3 | 2 = 1 + 1 - ;; ----+---------- - ;; 2 1 | 1 = 1 + 0 - ;; 2 2 | 2 = 1 + 1 - ;; 2 3 | 3 = 1 + 2 - ;; ----+---------- - ;; 3 1 | 2 = 1 + 1 - ;; 3 2 | 3 = 1 + 2 - ;; 3 3 | 1 = 1 + 0 - ;; Your choice is a rotation of the numbers 1, 2 and 3, where if your strategy is 1 (lose) - ;; you rotate once, if your strategy is 2 (draw) you rotate zero times and if it is 3 (win) - ;; you rotate two times. - (setq cy-rps (+ (mod (+ cy-rps ce-rps) 3) 1)) - - ;; Refer to part-one.cl for explanation on math - (setq total-score (+ total-score (* 3 (mod (+ (- 4 ce-rps) cy-rps) 3)) cy-rps)) - - (setq cal (read-line *prog-input* NIL))) - - (print total-score)) - -(if (not (eq *prog-input* *standard-input*)) - (close *prog-input*)) - -- cgit v1.2.3