From d23a6524fbcc0be2d2cd958f36eb231bdbef3a69 Mon Sep 17 00:00:00 2001 From: Hane Date: Thu, 14 Dec 2023 23:22:47 +0100 Subject: [PATCH] full aoc2 --- src/aoc1-2.lisp | 2 - src/aoc1-2test.txt | 1 - src/aoc2-2.lisp | 94 ++++++++++++++++++++++++++++++++++++++++++ src/aoc2.lisp | 80 ++++++++++++++++++++++++++++++++++++ src/aoc2input.txt | 100 +++++++++++++++++++++++++++++++++++++++++++++ src/aoc2test.txt | 5 +++ 6 files changed, 279 insertions(+), 3 deletions(-) create mode 100644 src/aoc2-2.lisp create mode 100644 src/aoc2.lisp create mode 100644 src/aoc2input.txt create mode 100644 src/aoc2test.txt diff --git a/src/aoc1-2.lisp b/src/aoc1-2.lisp index 2182909..7f0e116 100644 --- a/src/aoc1-2.lisp +++ b/src/aoc1-2.lisp @@ -1,7 +1,5 @@ ;; #!/bin/sbcl --script -(import 'ppcre) - (with-open-file (file "aoc1input.txt") (let((num 0) (firstMatch nil)(lastMatch nil) diff --git a/src/aoc1-2test.txt b/src/aoc1-2test.txt index 960d7f2..41aa89c 100644 --- a/src/aoc1-2test.txt +++ b/src/aoc1-2test.txt @@ -5,4 +5,3 @@ xtwone3four 4nineeightseven2 zoneight234 7pqrstsixteen -8 diff --git a/src/aoc2-2.lisp b/src/aoc2-2.lisp new file mode 100644 index 0000000..afd218a --- /dev/null +++ b/src/aoc2-2.lisp @@ -0,0 +1,94 @@ +;; #!/bin/sbcl --script +(with-open-file (file "aoc2input.txt") + (let((result 0) (game 1) + (lineLen 0) + (manipulatedLine "") + (showings'()) + (num "") (color "") (copy "") + (max (list (cons "red" 0) (cons "green" 0) (cons "blue" 0) )) + ) + (loop for line = (read-line file nil) + while line do + (setf lineLen (length line)) + (setf manipulatedLine (subseq line (+ 2 (position #\: line :test #'equalp)) lineLen )) + (loop for showing = (if(position #\; manipulatedLine :test #'equalp) + (subseq manipulatedLine 0 (position #\; manipulatedLine :test #'equalp)) + (setf showing "")) + until (string= showing "") + do + (push showing showings) + ;(print showing) + ;(if (position #\; manipulatedLine :test #'equalp) + (if(position #\; manipulatedLine :test #'equalp) + (setf manipulatedLine (subseq manipulatedLine (+ 2 (position #\; manipulatedLine :test #'equalp)) (length manipulatedLine) )) + ) + + ;(setf manipulatedLine "") + ;(print manipulatedLine) + finally + (push manipulatedLine showings) + (dolist (item showings) + (format T "~%\"~a\"" item)) + ) + + (dolist (item showings) + (setf copy item) + (loop for showing = (if(position #\, copy :test #'equalp) + (subseq copy 0 (position #\, copy :test #'equalp)) + (setf showing "")) + until (string= showing "") + do + (format T "~%~a ~a~%" "Starting loop with:" copy) + ;(print (subseq copy 0 (position #\, copy :test #'equalp))) + ;(print showing) + (setf num (subseq showing 0 (position #\Space showing :test #'equalp))) + (setf color (subseq showing (+ 1 (position #\Space showing :test #'equalp)) (length showing) )) + (format T "~a ~a\+~a~%" "Segmentation:" num color) + (if (> (parse-integer num) (parse-integer(write-to-string(cdr(find color max :key 'car :test #'equal))))) + ;replace this line, * and win? + (setf (cdr (find color max :key 'car :test #'equal) ) (parse-integer num)) + ;(subst max num (cdr (find color max :key 'car :test #'equal)))) + ;(setf validEntry nil)) + ) + (setf copy (subseq copy (+ 2 (position #\, copy :test #'equalp)) (length copy) )) + ;; (if(position #\, showing :test #'equalp) + ;; (setf copy (subseq copy (+ 2 (position #\, copy :test #'equalp)) (length copy) )) + ;; ) + (format T "~%~a ~a~%" "New copy:" copy) + + + finally + (setf num (subseq copy 0 (position #\Space copy :test #'equalp))) + (setf color (subseq copy (+ 1 (position #\Space copy :test #'equalp)) (length copy))) + (if (> (parse-integer num) (parse-integer(write-to-string(cdr(find color max :key 'car :test #'equal))))) + (progn + (print "HIT!!!!!!!!!!") + ;(subst (first (list (cons color (parse-integer num)))) (find color max :key 'car :test #'equal) max :test #'equal) + ;(subst '(color . (parse-integer num)) '((find color max :key 'car :test #'equal)) max :test #'equal) + (setf (cdr (find color max :key 'car :test #'equal) ) (parse-integer num)) + ) + ) + (format T "~%~a~a\-~a\-~a~%" "Final:" copy num color) + (print (first (list (cons color (parse-integer num))))) + (print (find color max :key 'car :test #'equal)) + (print (find "green" max :key 'car :test #'equal)) + (print (find "red" max :key 'car :test #'equal)) + (print (find "blue" max :key 'car :test #'equal)) + (print (write-to-string(cdr(find color max :key 'car :test #'equal)))) + ) + ) + (format T "~%~a~%" "finit") + ;(push "finit" showings) + ;(if validEntry + ;(setf result (+ result game))) + (setf result (+ result (* (parse-integer(write-to-string(cdr (find "red" max :key 'car :test #'equal) ))) (parse-integer(write-to-string(cdr (find "green" max :key 'car :test #'equal) ))) (parse-integer(write-to-string(cdr (find "blue" max :key 'car :test #'equal) ))) ))) + (setf (cdr (find "green" max :key 'car :test #'equal) ) 0) + (setf (cdr (find "red" max :key 'car :test #'equal) ) 0) + (setf (cdr (find "blue" max :key 'car :test #'equal) ) 0) + (incf game) + (setf showings '()) + ;(setf manipulatedLine "") + ) + (format T "~%~a ~a~%" "Result:" result) + ) + ) diff --git a/src/aoc2.lisp b/src/aoc2.lisp new file mode 100644 index 0000000..ccc582f --- /dev/null +++ b/src/aoc2.lisp @@ -0,0 +1,80 @@ +;; #!/bin/sbcl --script + +(with-open-file (file "aoc2input.txt") + (let((result 0) (game 1) + (validEntry t) + ;(firstMatch nil)(lastMatch nil) + (lineLen 0) + (manipulatedLine "") + (showings'()) + (num "") (color "") (copy "") + (max (list (cons "red" 12) (cons "green" 13) (cons "blue" 14) )) + ) + (loop for line = (read-line file nil) + while line do + (setf lineLen (length line)) + ;(setf manipulatedLine (remove #\: (substitute #\: #\Space (subseq line (position #\: line :test #'equalp) lineLen) ) )) + (setf manipulatedLine (subseq line (+ 2 (position #\: line :test #'equalp)) lineLen )) + (loop for showing = (if(position #\; manipulatedLine :test #'equalp) + (subseq manipulatedLine 0 (position #\; manipulatedLine :test #'equalp)) + (setf showing "")) + until (string= showing "") + do + (push showing showings) + ;(print showing) + ;(if (position #\; manipulatedLine :test #'equalp) + (if(position #\; manipulatedLine :test #'equalp) + (setf manipulatedLine (subseq manipulatedLine (+ 2 (position #\; manipulatedLine :test #'equalp)) (length manipulatedLine) )) + ) + + ;(setf manipulatedLine "") + ;(print manipulatedLine) + finally + (push manipulatedLine showings) + (dolist (item showings) + (format T "~%\"~a\"" item)) + ) + + (dolist (item showings) + (setf copy item) + (loop for showing = (if(position #\, copy :test #'equalp) + (subseq copy 0 (position #\, copy :test #'equalp)) + (setf showing "")) + until (string= showing "") + do + (format T "~%~a ~a~%" "Starting loop with:" copy) + ;(print (subseq copy 0 (position #\, copy :test #'equalp))) + ;(print showing) + (setf num (subseq showing 0 (position #\Space showing :test #'equalp))) + (setf color (subseq showing (+ 1 (position #\Space showing :test #'equalp)) (length showing) )) + (format T "~a ~a\+~a~%" "Segmentation:" num color) + (if (> (parse-integer num) (parse-integer(write-to-string(cdr(find color max :key 'car :test #'equal))))) + (setf validEntry nil)) + (setf copy (subseq copy (+ 2 (position #\, copy :test #'equalp)) (length copy) )) + ;; (if(position #\, showing :test #'equalp) + ;; (setf copy (subseq copy (+ 2 (position #\, copy :test #'equalp)) (length copy) )) + ;; ) + (format T "~%~a ~a~%" "New copy:" copy) + + + finally + (setf num (subseq copy 0 (position #\Space copy :test #'equalp))) + (setf color (subseq copy (+ 1 (position #\Space copy :test #'equalp)) (length copy))) + (if (> (parse-integer num) (parse-integer(write-to-string(cdr(find color max :key 'car :test #'equal))))) + (setf validEntry nil)) + (format T "~%~a~a\-~a\-~a~%" "Final:" copy num color) + + ) + ) + (format T "~%~a~%" "finit") + ;(push "finit" showings) + (if validEntry + (setf result (+ result game))) + (incf game) + (setf showings '()) + (setf validEntry t) + ;(setf manipulatedLine "") + ) + (format T "~%~a ~a~%" "Result:" result) + ) + ) diff --git a/src/aoc2input.txt b/src/aoc2input.txt new file mode 100644 index 0000000..8a9d45e --- /dev/null +++ b/src/aoc2input.txt @@ -0,0 +1,100 @@ +Game 1: 5 red, 1 green, 2 blue; 2 green, 8 blue, 6 red; 8 red, 3 blue, 2 green; 6 red, 1 green, 19 blue; 1 red, 17 blue +Game 2: 4 red, 5 green, 2 blue; 7 red, 14 green, 3 blue; 2 green, 5 blue, 11 red; 10 blue, 3 green; 9 green, 6 blue, 13 red; 7 red, 5 green, 9 blue +Game 3: 9 green, 18 blue, 1 red; 6 red, 10 blue, 5 green; 4 blue, 4 red, 15 green +Game 4: 1 red, 13 green; 10 green, 2 red; 3 red, 4 green, 2 blue +Game 5: 4 red, 2 green, 1 blue; 4 red, 9 blue; 4 green, 1 red, 6 blue; 3 blue, 2 green, 6 red; 5 red, 4 green, 1 blue +Game 6: 6 red, 3 green, 6 blue; 3 green, 5 blue, 12 red; 3 green, 9 blue, 3 red; 13 red, 8 blue +Game 7: 3 blue, 1 red; 3 blue, 10 green; 4 green, 5 blue +Game 8: 11 green, 4 blue; 4 red, 4 blue, 11 green; 4 green, 3 blue; 1 blue, 6 red, 12 green +Game 9: 1 blue, 4 green, 1 red; 5 green, 3 blue; 9 green, 4 blue; 3 blue, 1 red, 10 green; 6 green, 2 blue +Game 10: 5 green, 6 red, 7 blue; 7 green, 5 blue, 5 red; 8 red, 6 blue, 8 green; 2 blue, 8 green, 6 red; 6 blue, 8 red, 4 green +Game 11: 1 blue, 10 red, 10 green; 11 green, 2 blue, 16 red; 4 blue, 7 red, 14 green +Game 12: 8 green, 9 red, 12 blue; 2 green, 4 blue, 7 red; 1 red, 9 blue, 7 green; 8 green, 2 red, 10 blue; 1 green, 5 red, 5 blue; 6 green, 5 red, 1 blue +Game 13: 3 green, 1 blue, 6 red; 1 green, 10 red; 1 blue, 15 red, 2 green +Game 14: 2 green, 6 blue; 1 green, 2 blue, 2 red; 5 blue, 1 green, 2 red; 4 green, 5 blue, 4 red; 4 red, 5 green, 4 blue; 1 red, 5 green, 6 blue +Game 15: 12 green, 7 blue; 19 green; 11 blue, 16 green, 1 red; 1 red, 2 green, 3 blue; 8 blue, 1 red, 19 green; 14 blue, 3 green, 1 red +Game 16: 2 green, 13 blue, 3 red; 5 red, 12 blue; 6 blue, 8 red; 4 red, 1 green, 4 blue; 1 green, 15 blue; 4 blue, 2 green, 1 red +Game 17: 11 blue, 7 green, 2 red; 12 red, 8 green, 8 blue; 2 red, 6 blue, 6 green +Game 18: 1 green, 2 blue; 2 green, 1 blue, 4 red; 3 green, 16 red; 2 red, 3 green +Game 19: 11 blue, 3 green, 3 red; 11 blue, 5 green; 3 green, 3 red, 8 blue +Game 20: 1 green, 6 blue; 4 blue, 6 green; 1 red, 10 green; 12 green; 5 blue, 1 red, 4 green; 1 green, 5 blue +Game 21: 7 green, 3 blue; 1 red, 5 blue, 6 green; 1 red, 11 green; 8 blue, 1 red, 10 green; 1 red, 5 blue, 3 green +Game 22: 3 red, 1 blue; 3 green, 1 red, 1 blue; 7 green, 2 blue +Game 23: 12 green, 1 red, 2 blue; 10 blue, 1 green, 1 red; 9 blue, 8 green +Game 24: 5 blue, 6 green, 6 red; 3 blue, 1 red; 8 blue, 2 green, 12 red; 1 green, 2 blue, 14 red; 2 blue, 5 green, 15 red +Game 25: 6 red, 13 green; 1 blue, 1 red, 3 green; 1 blue, 12 red, 10 green +Game 26: 16 red, 2 blue, 7 green; 1 blue, 7 green, 8 red; 1 blue, 3 red, 9 green +Game 27: 4 blue, 15 green; 6 green, 2 blue, 1 red; 9 blue, 10 green, 4 red; 3 red, 3 green, 6 blue; 11 blue, 7 red, 11 green; 6 red, 5 green, 13 blue +Game 28: 10 blue, 8 red, 10 green; 4 blue, 11 red, 6 green; 8 red, 9 green, 10 blue; 4 red, 9 green, 2 blue +Game 29: 4 red, 9 green, 7 blue; 10 blue, 6 green, 4 red; 1 green, 2 red, 10 blue; 3 green, 9 blue +Game 30: 6 blue, 9 green, 10 red; 6 blue, 4 red; 5 green, 2 blue; 5 green, 2 red, 2 blue; 6 blue, 8 green +Game 31: 7 blue; 2 green, 6 blue; 1 red, 9 blue, 5 green +Game 32: 8 blue, 2 red, 4 green; 6 red, 2 blue, 1 green; 14 blue, 8 green, 8 red +Game 33: 1 green, 1 red, 1 blue; 2 blue, 1 green, 12 red; 1 green, 1 red; 1 blue, 2 red, 1 green; 7 red, 2 green, 2 blue +Game 34: 3 blue; 2 blue; 10 red, 1 blue, 1 green; 5 red; 1 green, 1 red, 1 blue; 1 green, 2 red +Game 35: 10 green, 1 red, 16 blue; 4 red, 10 blue, 9 green; 1 green, 7 blue, 5 red +Game 36: 1 blue, 3 red, 16 green; 1 blue, 3 red, 1 green; 9 green, 3 red, 8 blue; 14 green, 6 blue, 3 red; 3 red, 12 green, 4 blue +Game 37: 11 red, 3 blue; 15 red, 8 blue, 6 green; 6 green, 19 red, 11 blue; 1 green, 4 blue, 14 red; 12 blue, 5 red, 8 green; 4 blue, 9 red +Game 38: 4 green, 10 blue, 3 red; 1 green, 1 red, 11 blue; 2 red, 12 blue +Game 39: 3 green, 1 red, 4 blue; 9 green, 1 red, 18 blue; 4 red, 4 green, 17 blue; 4 red, 10 blue, 14 green +Game 40: 5 red, 4 green, 8 blue; 1 green, 9 blue; 9 blue, 3 red, 6 green; 8 red, 9 blue, 9 green +Game 41: 1 blue, 9 red, 3 green; 9 red, 10 green, 15 blue; 13 red, 8 green, 8 blue; 19 red, 6 blue, 2 green; 7 green, 5 blue, 12 red +Game 42: 15 blue; 1 red, 1 green, 9 blue; 6 blue, 1 red; 1 green, 4 blue +Game 43: 1 green, 8 blue, 2 red; 1 red, 1 green, 6 blue; 7 blue; 7 blue, 3 red, 1 green; 2 red, 5 blue +Game 44: 7 green, 11 blue, 6 red; 9 green, 8 blue; 4 red, 15 green; 12 green, 14 blue, 8 red +Game 45: 4 red, 4 green; 14 green; 4 green, 2 blue; 1 blue, 12 red, 5 green; 3 red, 6 green; 11 red, 1 green +Game 46: 2 blue, 1 green, 1 red; 1 blue, 6 green, 1 red; 2 blue, 1 red, 1 green; 5 green +Game 47: 1 blue, 1 red; 14 red; 3 green, 2 blue, 17 red; 4 green +Game 48: 1 red, 11 green, 2 blue; 1 red, 11 green, 6 blue; 13 green, 1 blue, 3 red; 3 green, 4 red, 6 blue; 12 green, 5 blue, 1 red; 2 red, 4 green, 4 blue +Game 49: 5 blue, 3 green; 2 green, 8 blue; 5 blue; 4 green, 5 blue, 1 red; 4 green, 7 blue; 1 green, 3 blue +Game 50: 3 red, 5 green, 2 blue; 9 green, 7 red, 4 blue; 3 blue, 6 red, 13 green; 6 blue, 8 red, 9 green +Game 51: 2 green, 11 red, 7 blue; 5 blue, 13 red; 1 green, 2 blue, 3 red; 6 blue, 8 red; 11 red, 2 green, 4 blue +Game 52: 15 blue, 1 green, 4 red; 4 green, 10 blue, 2 red; 6 red, 18 blue, 1 green +Game 53: 2 red, 10 green, 6 blue; 4 green, 3 blue, 3 red; 17 blue, 19 green, 5 red; 6 blue, 6 green, 9 red; 5 blue, 17 green, 7 red +Game 54: 9 blue, 8 red, 6 green; 6 red, 8 green; 1 green, 6 blue, 1 red; 5 red, 4 green, 9 blue; 5 blue, 2 green, 5 red +Game 55: 8 blue, 8 red, 10 green; 3 red, 4 green, 9 blue; 4 red, 3 green, 7 blue +Game 56: 3 red, 6 green, 1 blue; 5 green, 1 blue, 1 red; 1 red, 2 green; 10 green +Game 57: 1 green, 4 blue, 12 red; 17 red, 7 blue, 10 green; 17 red, 5 blue, 3 green +Game 58: 1 red, 5 green, 14 blue; 5 green, 6 red, 7 blue; 4 blue, 8 green; 3 red, 9 green, 7 blue; 8 blue, 8 green, 6 red; 8 green, 7 blue, 5 red +Game 59: 3 green, 5 red; 2 red, 13 green, 1 blue; 19 green, 1 red, 1 blue; 19 green, 1 blue; 18 green, 1 blue, 5 red; 6 red, 9 green +Game 60: 5 red, 1 green, 6 blue; 8 red, 6 blue, 14 green; 8 green, 8 red, 3 blue; 2 blue, 5 green, 3 red; 4 blue, 1 red, 14 green +Game 61: 7 red, 4 blue, 2 green; 2 green, 8 red, 9 blue; 5 blue, 2 green, 8 red; 8 red, 1 green, 8 blue +Game 62: 6 red, 3 blue; 1 blue, 2 red, 2 green; 3 red, 1 blue +Game 63: 2 red, 1 blue, 2 green; 1 blue, 1 green; 2 green, 4 red; 3 green, 2 red; 2 green +Game 64: 5 green, 6 blue, 7 red; 2 red, 5 green, 8 blue; 7 green, 9 blue, 1 red; 4 green, 5 blue; 19 blue, 5 green, 13 red +Game 65: 3 red, 1 blue, 4 green; 5 green, 3 blue; 9 green, 1 red, 10 blue +Game 66: 6 red, 13 green, 2 blue; 2 blue, 5 red, 9 green; 18 red; 2 green, 1 blue, 1 red; 19 red, 10 green; 1 blue, 15 green, 13 red +Game 67: 8 blue, 3 red; 1 red, 12 green, 7 blue; 4 red, 6 blue, 5 green; 11 green, 10 blue, 7 red; 5 red, 9 green, 14 blue +Game 68: 1 red, 3 green; 10 blue, 1 red, 3 green; 1 green, 17 blue; 16 blue; 6 blue +Game 69: 11 green, 5 blue, 8 red; 2 red, 5 green, 1 blue; 10 green, 2 blue; 11 green, 7 red, 4 blue +Game 70: 2 green, 1 blue, 13 red; 16 green, 20 red, 4 blue; 10 red +Game 71: 10 blue, 6 green, 7 red; 5 red, 5 green, 2 blue; 7 green, 4 red, 5 blue; 1 red, 8 blue; 5 red, 1 blue, 8 green; 5 blue, 1 red, 5 green +Game 72: 2 red, 4 green; 2 green, 2 red, 1 blue; 3 blue, 3 green, 2 red; 2 green +Game 73: 5 red, 19 blue; 12 blue, 4 green, 16 red; 14 red, 11 blue, 1 green +Game 74: 2 red, 1 green, 9 blue; 5 blue, 1 green, 2 red; 2 green, 1 red, 13 blue; 2 green, 1 red, 3 blue +Game 75: 7 blue, 1 red, 18 green; 17 green, 8 red, 13 blue; 15 blue, 4 red +Game 76: 1 green, 12 red, 13 blue; 5 green, 11 blue, 12 red; 10 red, 1 green; 10 red, 2 blue; 5 red, 2 green; 2 green, 17 blue, 3 red +Game 77: 2 blue, 1 red, 1 green; 7 red; 7 red, 3 blue, 2 green; 10 green, 1 red; 3 red, 7 blue, 6 green +Game 78: 10 red, 2 blue, 2 green; 1 blue, 6 red, 4 green; 12 red, 8 green; 6 green, 8 red, 7 blue; 11 green, 5 blue, 6 red +Game 79: 7 green, 5 red; 6 blue, 2 green, 15 red; 9 blue, 2 red, 12 green; 1 blue, 4 red, 10 green; 4 blue, 12 green, 11 red; 5 green, 3 red, 5 blue +Game 80: 1 green, 13 blue, 2 red; 2 red, 1 green, 13 blue; 7 blue, 8 red +Game 81: 1 green, 2 red, 11 blue; 5 red, 3 blue; 1 green, 1 red; 14 red, 1 green +Game 82: 12 red, 3 blue, 8 green; 15 red, 9 blue, 8 green; 6 blue, 13 red, 8 green +Game 83: 4 blue, 6 green, 3 red; 7 red, 2 blue, 9 green; 6 green, 3 red +Game 84: 4 green; 3 red, 3 blue; 4 red, 1 blue, 2 green; 1 red, 5 green, 5 blue; 1 red, 5 blue, 3 green +Game 85: 3 red, 4 blue, 15 green; 9 green; 2 red, 4 blue, 6 green; 1 red, 4 green, 7 blue; 3 red, 10 green, 9 blue; 1 red, 13 green, 3 blue +Game 86: 8 red, 6 blue; 3 blue, 3 green, 15 red; 12 red, 6 green, 13 blue; 15 red, 6 green, 10 blue +Game 87: 4 red, 4 blue; 6 red, 2 blue; 5 blue, 3 green; 4 blue, 2 red +Game 88: 4 blue, 7 green; 2 blue, 7 green; 6 green, 4 blue; 1 red, 1 blue, 2 green; 11 green, 3 blue +Game 89: 1 blue, 12 green, 11 red; 3 red, 7 blue, 1 green; 7 green, 8 red; 6 blue, 2 green, 3 red; 7 red, 8 green; 11 blue, 5 red, 12 green +Game 90: 1 green, 12 red, 17 blue; 14 red, 17 blue, 9 green; 6 green, 9 red, 11 blue +Game 91: 3 green, 14 blue; 2 blue, 2 green, 6 red; 1 red, 11 blue, 1 green; 3 green, 4 red, 20 blue; 6 red, 2 green, 3 blue; 10 blue, 12 red +Game 92: 6 blue, 7 red; 2 blue, 4 red, 1 green; 4 red, 1 green, 3 blue; 2 red, 5 blue; 8 red, 6 blue; 1 green, 2 blue, 1 red +Game 93: 4 blue, 1 green, 4 red; 8 red, 4 green, 4 blue; 2 blue, 9 red; 1 blue, 4 red; 4 blue, 2 green, 11 red +Game 94: 5 blue, 1 green, 7 red; 1 green, 11 blue, 1 red; 1 green, 15 blue, 4 red +Game 95: 1 red, 3 blue; 1 red, 1 green, 8 blue; 3 red, 1 green, 3 blue; 3 red, 6 blue; 6 blue +Game 96: 4 green, 1 blue; 7 green, 3 red; 2 blue, 9 red, 16 green; 3 blue, 4 red, 11 green +Game 97: 6 green, 8 blue; 1 blue, 1 green; 3 green, 4 blue; 8 blue, 5 green, 2 red +Game 98: 18 blue, 6 green; 11 green, 3 blue, 7 red; 18 blue, 3 red, 7 green; 5 red, 5 green; 8 blue, 2 green, 11 red +Game 99: 3 red, 2 green, 3 blue; 1 red, 4 green, 1 blue; 2 green, 18 red; 15 red, 1 blue; 2 blue, 9 red, 2 green; 17 red, 3 blue, 4 green +Game 100: 9 blue, 8 red, 16 green; 3 red, 7 green, 8 blue; 1 green, 3 red, 12 blue; 3 green, 14 blue diff --git a/src/aoc2test.txt b/src/aoc2test.txt new file mode 100644 index 0000000..295c36d --- /dev/null +++ b/src/aoc2test.txt @@ -0,0 +1,5 @@ +Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green +Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue +Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red +Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red +Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green