move standalone projects into own directory
This commit is contained in:
7
projects/_standalone/aoc/src/Main.hx
Normal file
7
projects/_standalone/aoc/src/Main.hx
Normal file
@@ -0,0 +1,7 @@
|
||||
package;
|
||||
|
||||
class Main {
|
||||
static function main() {
|
||||
Main_.main();
|
||||
}
|
||||
}
|
||||
14
projects/_standalone/aoc/src/Main_.kiss
Normal file
14
projects/_standalone/aoc/src/Main_.kiss
Normal file
@@ -0,0 +1,14 @@
|
||||
(load "UtilMacros.kiss")
|
||||
|
||||
(year 2018
|
||||
(import year2018.Solutions2018)
|
||||
(Solutions2018.run))
|
||||
(year 2020
|
||||
(import year2020.Solutions2020)
|
||||
(Solutions2020.run))
|
||||
(year 2021
|
||||
(import year2021.Solutions2021)
|
||||
(Solutions2021.run))
|
||||
(year 2022
|
||||
(import year2022.Solutions2022)
|
||||
(Solutions2022.main))
|
||||
9
projects/_standalone/aoc/src/Util.hx
Normal file
9
projects/_standalone/aoc/src/Util.hx
Normal file
@@ -0,0 +1,9 @@
|
||||
package;
|
||||
|
||||
import sys.io.File;
|
||||
import kiss.Prelude;
|
||||
|
||||
using StringTools;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Util {}
|
||||
22
projects/_standalone/aoc/src/Util.kiss
Normal file
22
projects/_standalone/aoc/src/Util.kiss
Normal file
@@ -0,0 +1,22 @@
|
||||
(function readLines [file]
|
||||
(filter
|
||||
(.map
|
||||
(.split (.replace (File.getContent file) "\r" "") "\n")
|
||||
StringTools.trim)))
|
||||
|
||||
(function readParagraphLines [file]
|
||||
(.filter
|
||||
(for paragraph
|
||||
(.split
|
||||
(.replace (File.getContent file) "\r" "")
|
||||
"\n\n")
|
||||
(.filter
|
||||
(paragraph.split "\n")
|
||||
(lambda [line] (< 0 line.length))))
|
||||
(lambda [lines] (< 0 lines.length))))
|
||||
|
||||
// TODO won't need to specify type here if last is not a quickNth
|
||||
(function :kiss.List<Int> readInts [file] (let [lines (readLines file)] (lines.map Std.parseInt)))
|
||||
|
||||
(function countChar [char str]
|
||||
(count (str.split "") (lambda [c] ?(= c char))))
|
||||
12
projects/_standalone/aoc/src/UtilMacros.kiss
Normal file
12
projects/_standalone/aoc/src/UtilMacros.kiss
Normal file
@@ -0,0 +1,12 @@
|
||||
(defMacro year [num &body body]
|
||||
`(#when ,(symbol (+ "year" (symbolNameValue num)))
|
||||
(print (+ "year " (Std.string ,num)))
|
||||
,@body))
|
||||
|
||||
(defMacro day [num &body body]
|
||||
`(#when ,(symbol (+ "day" (symbolNameValue num)))
|
||||
(print (+ "day " (Std.string ,num)))
|
||||
,@body))
|
||||
|
||||
(defMacro dayTodo [num]
|
||||
`(day ,num (print "TODO")))
|
||||
11
projects/_standalone/aoc/src/year2018/Solutions2018.hx
Normal file
11
projects/_standalone/aoc/src/year2018/Solutions2018.hx
Normal file
@@ -0,0 +1,11 @@
|
||||
package year2018;
|
||||
|
||||
import haxe.ds.Map;
|
||||
import haxe.Int64;
|
||||
import StringTools;
|
||||
import kiss.Prelude;
|
||||
import kiss.Stream;
|
||||
import Util;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Solutions2018 {}
|
||||
34
projects/_standalone/aoc/src/year2018/Solutions2018.kiss
Normal file
34
projects/_standalone/aoc/src/year2018/Solutions2018.kiss
Normal file
@@ -0,0 +1,34 @@
|
||||
(load "../UtilMacros.kiss")
|
||||
|
||||
(function run []
|
||||
(day 1
|
||||
(let [inputs
|
||||
(.slice (.split (sys.io.File.getContent "src/year2018/inputs/day1.txt") "\n") 0 -1)
|
||||
numbers
|
||||
(.map inputs Std.parseInt)]
|
||||
(assert (= 529 (apply + numbers)))))
|
||||
|
||||
(dayTodo 2)
|
||||
(dayTodo 3)
|
||||
(dayTodo 4)
|
||||
(dayTodo 5)
|
||||
(dayTodo 6)
|
||||
(dayTodo 7)
|
||||
(dayTodo 8)
|
||||
(dayTodo 9)
|
||||
(dayTodo 10)
|
||||
(dayTodo 11)
|
||||
(dayTodo 12)
|
||||
(dayTodo 13)
|
||||
(dayTodo 14)
|
||||
(dayTodo 15)
|
||||
(dayTodo 16)
|
||||
(dayTodo 17)
|
||||
(dayTodo 18)
|
||||
(dayTodo 19)
|
||||
(dayTodo 20)
|
||||
(dayTodo 21)
|
||||
(dayTodo 22)
|
||||
(dayTodo 23)
|
||||
(dayTodo 24)
|
||||
(dayTodo 25))
|
||||
951
projects/_standalone/aoc/src/year2018/inputs/day1.txt
Normal file
951
projects/_standalone/aoc/src/year2018/inputs/day1.txt
Normal file
@@ -0,0 +1,951 @@
|
||||
-10
|
||||
-12
|
||||
+1
|
||||
+14
|
||||
+11
|
||||
-19
|
||||
-4
|
||||
+10
|
||||
+10
|
||||
-12
|
||||
-13
|
||||
-10
|
||||
-8
|
||||
+11
|
||||
+3
|
||||
-10
|
||||
+8
|
||||
+5
|
||||
-14
|
||||
+7
|
||||
+12
|
||||
+12
|
||||
+14
|
||||
-1
|
||||
+17
|
||||
-5
|
||||
+9
|
||||
-15
|
||||
+8
|
||||
-16
|
||||
+9
|
||||
+6
|
||||
+17
|
||||
-11
|
||||
+19
|
||||
+11
|
||||
-9
|
||||
-1
|
||||
-8
|
||||
-16
|
||||
-5
|
||||
+6
|
||||
+2
|
||||
+6
|
||||
+12
|
||||
+15
|
||||
+16
|
||||
-6
|
||||
-8
|
||||
-5
|
||||
+11
|
||||
-9
|
||||
+19
|
||||
+19
|
||||
-5
|
||||
-12
|
||||
-17
|
||||
-20
|
||||
+9
|
||||
-6
|
||||
-2
|
||||
+20
|
||||
+15
|
||||
-8
|
||||
+15
|
||||
+19
|
||||
-5
|
||||
-17
|
||||
-9
|
||||
+1
|
||||
-9
|
||||
-11
|
||||
-19
|
||||
-1
|
||||
-15
|
||||
+18
|
||||
-4
|
||||
+19
|
||||
+3
|
||||
+21
|
||||
+5
|
||||
-1
|
||||
+8
|
||||
+9
|
||||
+9
|
||||
-16
|
||||
+17
|
||||
-15
|
||||
+18
|
||||
+14
|
||||
+8
|
||||
-13
|
||||
-2
|
||||
-15
|
||||
+13
|
||||
+19
|
||||
-13
|
||||
+5
|
||||
+16
|
||||
+16
|
||||
+7
|
||||
+8
|
||||
-19
|
||||
+3
|
||||
-12
|
||||
+18
|
||||
-16
|
||||
-19
|
||||
+8
|
||||
-16
|
||||
+20
|
||||
+15
|
||||
-5
|
||||
-17
|
||||
+15
|
||||
+14
|
||||
-2
|
||||
+18
|
||||
-6
|
||||
+5
|
||||
+16
|
||||
+13
|
||||
-8
|
||||
-9
|
||||
-1
|
||||
+13
|
||||
+18
|
||||
-2
|
||||
+16
|
||||
-4
|
||||
+19
|
||||
+6
|
||||
+14
|
||||
-6
|
||||
-16
|
||||
-10
|
||||
-5
|
||||
-15
|
||||
+11
|
||||
+10
|
||||
+18
|
||||
+8
|
||||
-2
|
||||
+15
|
||||
-9
|
||||
+7
|
||||
+10
|
||||
+9
|
||||
-6
|
||||
+1
|
||||
-17
|
||||
-12
|
||||
+19
|
||||
+14
|
||||
-9
|
||||
-18
|
||||
+20
|
||||
+12
|
||||
+10
|
||||
+14
|
||||
+6
|
||||
+9
|
||||
-18
|
||||
+4
|
||||
+15
|
||||
+15
|
||||
+3
|
||||
+9
|
||||
-4
|
||||
-19
|
||||
+8
|
||||
+16
|
||||
+19
|
||||
-12
|
||||
-1
|
||||
+16
|
||||
+11
|
||||
+13
|
||||
-8
|
||||
+4
|
||||
+18
|
||||
+10
|
||||
-11
|
||||
+18
|
||||
-8
|
||||
+19
|
||||
-4
|
||||
-5
|
||||
-12
|
||||
-3
|
||||
-10
|
||||
-11
|
||||
-18
|
||||
-7
|
||||
+3
|
||||
+14
|
||||
+18
|
||||
+2
|
||||
-7
|
||||
-12
|
||||
+14
|
||||
+12
|
||||
+13
|
||||
-1
|
||||
+13
|
||||
-1
|
||||
+15
|
||||
+13
|
||||
-1
|
||||
-17
|
||||
-4
|
||||
+17
|
||||
-3
|
||||
+13
|
||||
+5
|
||||
-19
|
||||
+17
|
||||
+10
|
||||
+6
|
||||
-15
|
||||
+11
|
||||
+16
|
||||
+11
|
||||
+20
|
||||
+19
|
||||
+5
|
||||
-11
|
||||
-2
|
||||
-12
|
||||
-6
|
||||
-11
|
||||
-14
|
||||
+5
|
||||
+10
|
||||
-23
|
||||
+14
|
||||
-11
|
||||
+22
|
||||
-1
|
||||
-14
|
||||
-35
|
||||
-23
|
||||
+11
|
||||
+4
|
||||
+10
|
||||
-6
|
||||
+19
|
||||
-5
|
||||
+4
|
||||
-13
|
||||
-7
|
||||
+11
|
||||
-24
|
||||
-17
|
||||
+9
|
||||
-17
|
||||
+11
|
||||
+2
|
||||
-4
|
||||
-10
|
||||
-24
|
||||
+14
|
||||
+15
|
||||
+19
|
||||
+7
|
||||
-2
|
||||
+11
|
||||
-13
|
||||
-8
|
||||
-8
|
||||
-14
|
||||
-17
|
||||
+6
|
||||
+8
|
||||
-16
|
||||
-18
|
||||
+1
|
||||
-21
|
||||
-14
|
||||
+8
|
||||
-2
|
||||
+20
|
||||
-19
|
||||
+9
|
||||
-15
|
||||
-6
|
||||
-7
|
||||
+4
|
||||
-3
|
||||
-8
|
||||
+16
|
||||
+15
|
||||
-26
|
||||
+18
|
||||
-22
|
||||
-16
|
||||
-3
|
||||
-17
|
||||
-18
|
||||
+4
|
||||
+5
|
||||
+3
|
||||
-1
|
||||
+3
|
||||
+2
|
||||
+3
|
||||
+7
|
||||
-5
|
||||
+20
|
||||
-11
|
||||
+15
|
||||
-6
|
||||
-19
|
||||
-24
|
||||
-6
|
||||
-20
|
||||
+13
|
||||
-4
|
||||
-18
|
||||
+15
|
||||
+9
|
||||
+16
|
||||
+12
|
||||
-5
|
||||
+16
|
||||
+9
|
||||
-4
|
||||
-14
|
||||
-9
|
||||
-19
|
||||
-5
|
||||
-16
|
||||
-16
|
||||
+5
|
||||
-4
|
||||
+12
|
||||
-15
|
||||
-15
|
||||
-14
|
||||
+4
|
||||
-18
|
||||
-12
|
||||
-4
|
||||
+6
|
||||
+9
|
||||
-12
|
||||
+14
|
||||
+9
|
||||
-6
|
||||
+3
|
||||
+8
|
||||
+4
|
||||
+7
|
||||
-14
|
||||
-15
|
||||
-18
|
||||
+12
|
||||
-19
|
||||
-14
|
||||
-15
|
||||
-16
|
||||
+15
|
||||
-8
|
||||
+14
|
||||
-4
|
||||
-21
|
||||
+7
|
||||
-12
|
||||
-2
|
||||
-10
|
||||
-6
|
||||
+14
|
||||
+14
|
||||
-9
|
||||
-14
|
||||
-16
|
||||
+2
|
||||
+7
|
||||
+5
|
||||
-15
|
||||
-15
|
||||
+19
|
||||
-16
|
||||
-5
|
||||
-16
|
||||
-19
|
||||
+9
|
||||
-27
|
||||
-8
|
||||
+6
|
||||
+1
|
||||
-14
|
||||
-9
|
||||
-50
|
||||
-9
|
||||
-21
|
||||
+5
|
||||
-20
|
||||
-19
|
||||
+6
|
||||
-11
|
||||
+6
|
||||
+1
|
||||
-17
|
||||
-14
|
||||
-2
|
||||
+8
|
||||
-4
|
||||
+16
|
||||
+1
|
||||
-3
|
||||
-9
|
||||
+20
|
||||
+15
|
||||
-22
|
||||
-3
|
||||
-13
|
||||
-12
|
||||
-25
|
||||
+5
|
||||
-13
|
||||
-2
|
||||
-8
|
||||
-11
|
||||
+17
|
||||
+3
|
||||
-7
|
||||
+13
|
||||
+1
|
||||
+18
|
||||
-13
|
||||
+1
|
||||
+7
|
||||
-15
|
||||
-43
|
||||
-6
|
||||
-10
|
||||
-9
|
||||
-20
|
||||
-7
|
||||
-8
|
||||
-15
|
||||
-9
|
||||
+13
|
||||
-9
|
||||
+24
|
||||
+13
|
||||
+5
|
||||
-8
|
||||
-15
|
||||
-4
|
||||
-4
|
||||
-4
|
||||
-14
|
||||
-21
|
||||
+16
|
||||
+15
|
||||
-14
|
||||
-20
|
||||
-20
|
||||
-15
|
||||
-19
|
||||
-41
|
||||
+16
|
||||
+3
|
||||
+8
|
||||
-22
|
||||
-30
|
||||
+8
|
||||
+40
|
||||
+15
|
||||
+24
|
||||
-7
|
||||
+22
|
||||
+10
|
||||
+15
|
||||
+9
|
||||
+28
|
||||
+14
|
||||
+2
|
||||
+14
|
||||
+6
|
||||
+17
|
||||
+1
|
||||
+30
|
||||
+5
|
||||
-2
|
||||
+46
|
||||
+24
|
||||
+46
|
||||
-3
|
||||
-7
|
||||
+35
|
||||
+16
|
||||
+13
|
||||
-21
|
||||
+28
|
||||
+13
|
||||
-25
|
||||
+180
|
||||
+25
|
||||
+5
|
||||
-9
|
||||
+23
|
||||
-5
|
||||
-2
|
||||
+13
|
||||
-12
|
||||
+2
|
||||
-25
|
||||
-5
|
||||
+18
|
||||
-24
|
||||
+45
|
||||
+17
|
||||
-7
|
||||
+22
|
||||
-152
|
||||
-11
|
||||
+4
|
||||
+50
|
||||
+129
|
||||
-7
|
||||
+22
|
||||
+109
|
||||
-56
|
||||
+80
|
||||
+29
|
||||
-75060
|
||||
-2
|
||||
-14
|
||||
+7
|
||||
-17
|
||||
-5
|
||||
+6
|
||||
-3
|
||||
+18
|
||||
+19
|
||||
-14
|
||||
-12
|
||||
-6
|
||||
+9
|
||||
-5
|
||||
-13
|
||||
-6
|
||||
-3
|
||||
-15
|
||||
+13
|
||||
+3
|
||||
-18
|
||||
-11
|
||||
+16
|
||||
-2
|
||||
+10
|
||||
-14
|
||||
-7
|
||||
+19
|
||||
-20
|
||||
+15
|
||||
+10
|
||||
+12
|
||||
+10
|
||||
+16
|
||||
-11
|
||||
+14
|
||||
-5
|
||||
+14
|
||||
+11
|
||||
-5
|
||||
+1
|
||||
-13
|
||||
+1
|
||||
+18
|
||||
-10
|
||||
+25
|
||||
+13
|
||||
-17
|
||||
+15
|
||||
-18
|
||||
+1
|
||||
-6
|
||||
-12
|
||||
+5
|
||||
-7
|
||||
+18
|
||||
-6
|
||||
-18
|
||||
-17
|
||||
-5
|
||||
-15
|
||||
-1
|
||||
-15
|
||||
+1
|
||||
-12
|
||||
+9
|
||||
+16
|
||||
+8
|
||||
+5
|
||||
+1
|
||||
+9
|
||||
+18
|
||||
-13
|
||||
-30
|
||||
-27
|
||||
-19
|
||||
+2
|
||||
-16
|
||||
-19
|
||||
-10
|
||||
-18
|
||||
+21
|
||||
+18
|
||||
-5
|
||||
+14
|
||||
+9
|
||||
-6
|
||||
+2
|
||||
-16
|
||||
-11
|
||||
+1
|
||||
+18
|
||||
-4
|
||||
+19
|
||||
+7
|
||||
+6
|
||||
-8
|
||||
+25
|
||||
-50
|
||||
+6
|
||||
-21
|
||||
+6
|
||||
-2
|
||||
+14
|
||||
-11
|
||||
+10
|
||||
-9
|
||||
+16
|
||||
+25
|
||||
-61
|
||||
-17
|
||||
-14
|
||||
+13
|
||||
+3
|
||||
-14
|
||||
-4
|
||||
-1
|
||||
+9
|
||||
-1
|
||||
-4
|
||||
-5
|
||||
+7
|
||||
-15
|
||||
+7
|
||||
+16
|
||||
+6
|
||||
-2
|
||||
-11
|
||||
-11
|
||||
-13
|
||||
+11
|
||||
-12
|
||||
-13
|
||||
-8
|
||||
+3
|
||||
-13
|
||||
+16
|
||||
-1
|
||||
-14
|
||||
+19
|
||||
+4
|
||||
+10
|
||||
+12
|
||||
+26
|
||||
+6
|
||||
+4
|
||||
+24
|
||||
-31
|
||||
+9
|
||||
-10
|
||||
-23
|
||||
-13
|
||||
+3
|
||||
-18
|
||||
-9
|
||||
-6
|
||||
+1
|
||||
-2
|
||||
+15
|
||||
-10
|
||||
-17
|
||||
-17
|
||||
+15
|
||||
+9
|
||||
+4
|
||||
+19
|
||||
-4
|
||||
+12
|
||||
+11
|
||||
-25
|
||||
+16
|
||||
+4
|
||||
-2
|
||||
+39
|
||||
+49
|
||||
+9
|
||||
+96
|
||||
+4
|
||||
+19
|
||||
+3
|
||||
+11
|
||||
+25
|
||||
+14
|
||||
+11
|
||||
-5
|
||||
-26
|
||||
-8
|
||||
-16
|
||||
+11
|
||||
+2
|
||||
+2
|
||||
-1
|
||||
-10
|
||||
-45
|
||||
-160
|
||||
-31
|
||||
-3
|
||||
-43
|
||||
-18
|
||||
+19
|
||||
+3
|
||||
+4
|
||||
+11
|
||||
-16
|
||||
-19
|
||||
-22
|
||||
+6
|
||||
+2
|
||||
+10
|
||||
-11
|
||||
-17
|
||||
+7
|
||||
+1
|
||||
+15
|
||||
+17
|
||||
-19
|
||||
+6
|
||||
-26
|
||||
-7
|
||||
-9
|
||||
+19
|
||||
+2
|
||||
+6
|
||||
-22
|
||||
+2
|
||||
-8
|
||||
+5
|
||||
+7
|
||||
+9
|
||||
+8
|
||||
-16
|
||||
+2
|
||||
-19
|
||||
-19
|
||||
-3
|
||||
+16
|
||||
+5
|
||||
+4
|
||||
-18
|
||||
-11
|
||||
-19
|
||||
+16
|
||||
-15
|
||||
+7
|
||||
-1
|
||||
-9
|
||||
-19
|
||||
+11
|
||||
-17
|
||||
-5
|
||||
+7
|
||||
-11
|
||||
+16
|
||||
-19
|
||||
+5
|
||||
+21
|
||||
-2
|
||||
+12
|
||||
+14
|
||||
-7
|
||||
+18
|
||||
-8
|
||||
+10
|
||||
-11
|
||||
-17
|
||||
+3
|
||||
-13
|
||||
+19
|
||||
-3
|
||||
+10
|
||||
+17
|
||||
+17
|
||||
-18
|
||||
+7
|
||||
-2
|
||||
-2
|
||||
+12
|
||||
-6
|
||||
+19
|
||||
-20
|
||||
-15
|
||||
-11
|
||||
-27
|
||||
+8
|
||||
+18
|
||||
+9
|
||||
-1
|
||||
-2
|
||||
+19
|
||||
+7
|
||||
+12
|
||||
+32
|
||||
+14
|
||||
+13
|
||||
-9
|
||||
-14
|
||||
+20
|
||||
+18
|
||||
-4
|
||||
-49
|
||||
-6
|
||||
-10
|
||||
-7
|
||||
-4
|
||||
-9
|
||||
-6
|
||||
-37
|
||||
-21
|
||||
-2
|
||||
+5
|
||||
+12
|
||||
+4
|
||||
-33
|
||||
-4
|
||||
-13
|
||||
-4
|
||||
+13
|
||||
-19
|
||||
-7
|
||||
-16
|
||||
-1
|
||||
-1
|
||||
+8
|
||||
-14
|
||||
-15
|
||||
+11
|
||||
-10
|
||||
-14
|
||||
-22
|
||||
-11
|
||||
+10
|
||||
-3
|
||||
+7
|
||||
+9
|
||||
-15
|
||||
+16
|
||||
-7
|
||||
-1
|
||||
+2
|
||||
+20
|
||||
+11
|
||||
-1
|
||||
+6
|
||||
-2
|
||||
+3
|
||||
+3
|
||||
+2
|
||||
-20
|
||||
-10
|
||||
+11
|
||||
-10
|
||||
+13
|
||||
-1
|
||||
+20
|
||||
+7
|
||||
+7
|
||||
+5
|
||||
+1
|
||||
+4
|
||||
-13
|
||||
+15
|
||||
-3
|
||||
+2
|
||||
-4
|
||||
-3
|
||||
-1
|
||||
+13
|
||||
-15
|
||||
-14
|
||||
-2
|
||||
-6
|
||||
+3
|
||||
+13
|
||||
-19
|
||||
-11
|
||||
+8
|
||||
-21
|
||||
-2
|
||||
-23
|
||||
-18
|
||||
+20
|
||||
+7
|
||||
+6
|
||||
-28
|
||||
+7
|
||||
-33
|
||||
+13
|
||||
-16
|
||||
-18
|
||||
-10
|
||||
-18
|
||||
+13
|
||||
+8
|
||||
-14
|
||||
-13
|
||||
-2
|
||||
+4
|
||||
-14
|
||||
-7
|
||||
-18
|
||||
-20
|
||||
-4
|
||||
-5
|
||||
+8
|
||||
-4
|
||||
+16
|
||||
+21
|
||||
+20
|
||||
-8
|
||||
-14
|
||||
-2
|
||||
-14
|
||||
-22
|
||||
+14
|
||||
+36
|
||||
+32
|
||||
-28
|
||||
+1
|
||||
-21
|
||||
+8
|
||||
+14
|
||||
+75784
|
||||
9
projects/_standalone/aoc/src/year2020/Adapters.hx
Normal file
9
projects/_standalone/aoc/src/year2020/Adapters.hx
Normal file
@@ -0,0 +1,9 @@
|
||||
package year2020;
|
||||
|
||||
import haxe.Int64;
|
||||
import kiss.Prelude;
|
||||
|
||||
using StringTools;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Adapters {}
|
||||
22
projects/_standalone/aoc/src/year2020/Adapters.kiss
Normal file
22
projects/_standalone/aoc/src/year2020/Adapters.kiss
Normal file
@@ -0,0 +1,22 @@
|
||||
(function differences [:kiss.List<Int> ratings]
|
||||
(for pair (pairs ratings) (- 0 (apply - pair))))
|
||||
|
||||
(function distribution [:kiss.List<Int> numbers]
|
||||
(let [:Map<Int,Int> dist (new Map)]
|
||||
(doFor num numbers
|
||||
(dictSet dist num
|
||||
(if (dist.exists num)
|
||||
(+ 1 (dictGet dist num))
|
||||
1)))
|
||||
dist))
|
||||
|
||||
(function &dynamic arrangementCount [:kiss.List<Int> ratings startingIndex]
|
||||
(if (= startingIndex (- ratings.length 1)) 1
|
||||
(let [&mut :Int64 sum 0
|
||||
startingRating (nth ratings startingIndex)
|
||||
potentialNextAdapters (filter
|
||||
(for i (range (+ 1 startingIndex) (+ 4 startingIndex)) i)
|
||||
(lambda [index] (and (< index ratings.length) (<= (nth ratings index) (+ 3 startingRating)))))]
|
||||
(doFor subCount (map potentialNextAdapters (arrangementCount.bind ratings))
|
||||
(set sum (Int64.add sum subCount)))
|
||||
sum)))
|
||||
14
projects/_standalone/aoc/src/year2020/Bags.hx
Normal file
14
projects/_standalone/aoc/src/year2020/Bags.hx
Normal file
@@ -0,0 +1,14 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
|
||||
using StringTools;
|
||||
|
||||
// Color CONTAINS quantities of child colors
|
||||
typedef ParentMap = Map<String, Map<String, Int>>;
|
||||
|
||||
// Color IS CONTAINED IN these colors
|
||||
typedef ChildMap = Map<String, Array<String>>;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Bags {}
|
||||
31
projects/_standalone/aoc/src/year2020/Bags.kiss
Normal file
31
projects/_standalone/aoc/src/year2020/Bags.kiss
Normal file
@@ -0,0 +1,31 @@
|
||||
(function bagColor [:String bag]
|
||||
(bag.substr 0 (Math.floor (- (bag.indexOf "bag") 1))))
|
||||
|
||||
(function parseRule [:String line :ParentMap parentMap :ChildMap childMap]
|
||||
(unless (<= 0 (line.indexOf "contain no other bags"))
|
||||
(let [[containerStr contents] (line.split "contain ")
|
||||
contentStrs (contents.split ", ")]
|
||||
(localVar :Map<String,Int> innerMap (new Map))
|
||||
(doFor str contentStrs
|
||||
(let [parts (str.split " ")
|
||||
quantity (Std.parseInt (parts.shift))
|
||||
colorStr (parts.join " ")]
|
||||
(dictSet innerMap (bagColor colorStr) quantity)
|
||||
(unless (childMap.exists (bagColor colorStr)) (dictSet childMap (bagColor colorStr) []))
|
||||
(.push (dictGet childMap (bagColor colorStr)) (bagColor containerStr))))
|
||||
(dictSet parentMap (bagColor containerStr) innerMap))))
|
||||
|
||||
(function findIndirectContainers [color :ChildMap childMap :Map<String,Bool> outMap]
|
||||
(when (childMap.exists color)
|
||||
(doFor parentColor (dictGet childMap color)
|
||||
(dictSet outMap parentColor true)
|
||||
(findIndirectContainers parentColor childMap outMap))))
|
||||
|
||||
(function totalChildBags [bag :ParentMap parentMap]
|
||||
(if (parentMap.exists bag)
|
||||
(begin
|
||||
(localVar &mut sum 0)
|
||||
(doFor =>childColor quantity (dictGet parentMap bag)
|
||||
(set sum (+ sum quantity (* quantity (totalChildBags childColor parentMap)))))
|
||||
sum)
|
||||
0))
|
||||
16
projects/_standalone/aoc/src/year2020/BootCode.hx
Normal file
16
projects/_standalone/aoc/src/year2020/BootCode.hx
Normal file
@@ -0,0 +1,16 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.EmbeddedScript;
|
||||
import kiss.Prelude;
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("BootCodeDSL.kiss", "inputs/day8-example.txt"))
|
||||
class BootCodeExample extends EmbeddedScript {}
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("BootCodeDSL.kiss", "inputs/day8.txt"))
|
||||
class BootCodeReal extends EmbeddedScript {}
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("BootCodeFixDSL.kiss", "inputs/day8-example.txt"))
|
||||
class BootCodeFixExample extends EmbeddedScript {}
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("BootCodeFixDSL.kiss", "inputs/day8.txt"))
|
||||
class BootCodeFix extends EmbeddedScript {}
|
||||
@@ -0,0 +1,9 @@
|
||||
(prop &mut accumulator 0)
|
||||
|
||||
(method setBreakPoint [] (addBreakPoint instructionPointer))
|
||||
|
||||
(method nop [v :Dynamic self] (self.setBreakPoint))
|
||||
(method acc [v :Dynamic self] (self.setBreakPoint) (set self.accumulator (+ self.accumulator v)))
|
||||
(method jmp [v :Dynamic self]
|
||||
(self.setBreakPoint)
|
||||
(set self.instructionPointer (+ self.instructionPointer (- v 1))))
|
||||
11
projects/_standalone/aoc/src/year2020/BootCodeDSL.kiss
Normal file
11
projects/_standalone/aoc/src/year2020/BootCodeDSL.kiss
Normal file
@@ -0,0 +1,11 @@
|
||||
(load "BootCodeCommon.kiss")
|
||||
|
||||
(defReaderMacro "" [stream]
|
||||
`(,(ReaderExp.Symbol
|
||||
(begin (stream.dropWhitespace) (nextToken stream)))
|
||||
(,(ReaderExp.Symbol
|
||||
(begin (stream.dropWhitespace) (stream.expect "+/-" (lambda [] (stream.takeChars 1)))))
|
||||
0
|
||||
,(ReaderExp.Symbol
|
||||
(nextToken stream)))
|
||||
self))
|
||||
38
projects/_standalone/aoc/src/year2020/BootCodeFixDSL.kiss
Normal file
38
projects/_standalone/aoc/src/year2020/BootCodeFixDSL.kiss
Normal file
@@ -0,0 +1,38 @@
|
||||
(load "BootCodeCommon.kiss")
|
||||
|
||||
(var :Map<Int,Bool> instructionsTested (new Map<Int,Bool>))
|
||||
(prop &mut forked false)
|
||||
(prop &mut forkedAt -1)
|
||||
|
||||
(defReaderMacro ["jmp" "nop"] [stream]
|
||||
(let [inst
|
||||
(nextToken stream)
|
||||
instSymbol
|
||||
(ReaderExp.Symbol inst)
|
||||
op
|
||||
(begin (stream.dropWhitespace) (ReaderExp.Symbol
|
||||
(begin (stream.dropWhitespace) (stream.expect "+/-" (lambda [] (stream.takeChars 1))))))
|
||||
arg
|
||||
(ReaderExp.Symbol (nextToken stream))]
|
||||
(stream.dropWhitespace)
|
||||
`(cond
|
||||
((or self.forked (instructionsTested.exists self.instructionPointer))
|
||||
(,instSymbol (,op 0 ,arg) self))
|
||||
(true
|
||||
(dictSet instructionsTested self.instructionPointer true)
|
||||
(self.setBreakPoint)
|
||||
(self.fork [
|
||||
(lambda [:Dynamic self]
|
||||
(when ,(ReaderExp.Symbol (Std.string (= inst "nop")))
|
||||
(set self.forked true)
|
||||
(set self.forkedAt self.instructionPointer))
|
||||
(jmp (,op 0 ,arg) self))
|
||||
(lambda [:Dynamic self]
|
||||
(when ,(ReaderExp.Symbol (Std.string (= inst "jmp")))
|
||||
(set self.forked true)
|
||||
(set self.forkedAt self.instructionPointer))
|
||||
(nop (,op 0 ,arg) self))
|
||||
])))))
|
||||
|
||||
// Define the default reader LAST because default readers tend to break everything
|
||||
(load "BootCodeDSL.kiss")
|
||||
8
projects/_standalone/aoc/src/year2020/Customs.hx
Normal file
8
projects/_standalone/aoc/src/year2020/Customs.hx
Normal file
@@ -0,0 +1,8 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
|
||||
using StringTools;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Customs {}
|
||||
14
projects/_standalone/aoc/src/year2020/Customs.kiss
Normal file
14
projects/_standalone/aoc/src/year2020/Customs.kiss
Normal file
@@ -0,0 +1,14 @@
|
||||
(function countAnyYes [:Array<String> group]
|
||||
(countWhereYes group (lambda [c] (< 0 c))))
|
||||
|
||||
(function countAllYes [:Array<String> group]
|
||||
(countWhereYes group (lambda [c] (= c group.length))))
|
||||
|
||||
(function countWhereYes [:Array<String> group predicate]
|
||||
(let [yesDict (new Map<String,Int>)]
|
||||
(doFor person group
|
||||
(doFor question (person.split "")
|
||||
(dictSet yesDict question
|
||||
(+ 1
|
||||
(if (yesDict.exists question) (dictGet yesDict question) 0)))))
|
||||
(count yesDict predicate)))
|
||||
7
projects/_standalone/aoc/src/year2020/Evasion.hx
Normal file
7
projects/_standalone/aoc/src/year2020/Evasion.hx
Normal file
@@ -0,0 +1,7 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.EmbeddedScript;
|
||||
import kiss.Prelude;
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("EvasionDSL.kiss", "inputs/day12.txt"))
|
||||
class EvasionScript extends EmbeddedScript {}
|
||||
37
projects/_standalone/aoc/src/year2020/EvasionDSL.kiss
Normal file
37
projects/_standalone/aoc/src/year2020/EvasionDSL.kiss
Normal file
@@ -0,0 +1,37 @@
|
||||
(prop &mut x 0)
|
||||
(prop &mut y 0)
|
||||
// 0 is east
|
||||
// 1 is south
|
||||
// 2 is west
|
||||
// 3 is north
|
||||
(prop &mut facing 0)
|
||||
|
||||
(function fixFacing [f]
|
||||
(Math.floor (% (if (> 0 f) (+ 4 f) f) 4)))
|
||||
|
||||
(method N [num]
|
||||
(set y (+ y num)))
|
||||
(method S [num]
|
||||
(set y (- y num)))
|
||||
(method E [num]
|
||||
(set x (+ x num)))
|
||||
(method W [num]
|
||||
(set x (- x num)))
|
||||
(method R [angle]
|
||||
(set facing (fixFacing (+ facing (/ angle 90)))))
|
||||
(method L [angle]
|
||||
(set facing (fixFacing (- facing (/ angle 90)))))
|
||||
(method F [num]
|
||||
(case facing
|
||||
(0 (E num))
|
||||
(1 (S num))
|
||||
(2 (W num))
|
||||
(3 (N num))
|
||||
(otherwise (throw (+ "Bad facing" facing)))))
|
||||
|
||||
(defReaderMacro "" [stream &builder b]
|
||||
(stream.dropWhitespace)
|
||||
(if (stream.isEmpty)
|
||||
null
|
||||
`(,(b.symbol (stream.expect "a ship command" ->(stream.takeChars 1)))
|
||||
,(b.symbol (stream.expect "a number argument" ->(stream.takeUntilAndDrop "\n"))))))
|
||||
17
projects/_standalone/aoc/src/year2020/FerrySim.hx
Normal file
17
projects/_standalone/aoc/src/year2020/FerrySim.hx
Normal file
@@ -0,0 +1,17 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
import kiss.EmbeddedScript;
|
||||
import haxe.Constraints;
|
||||
|
||||
typedef FerrySquare = (Array<FerrySquare>, SeatsChanged) -> FerrySquare;
|
||||
|
||||
typedef SeatsChanged = {
|
||||
changed:Bool
|
||||
};
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("FerrySimDSL.kiss", "inputs/day11-example.txt"))
|
||||
class FerrySimExample extends EmbeddedScript {}
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("FerrySimDSL.kiss", "inputs/day11.txt"))
|
||||
class FerrySimReal extends EmbeddedScript {}
|
||||
54
projects/_standalone/aoc/src/year2020/FerrySimDSL.kiss
Normal file
54
projects/_standalone/aoc/src/year2020/FerrySimDSL.kiss
Normal file
@@ -0,0 +1,54 @@
|
||||
(function :FerrySquare floor [:Array<FerrySquare> n :SeatsChanged changed] floor)
|
||||
|
||||
(function :FerrySquare emptySeat [:Array<FerrySquare> n :SeatsChanged changed]
|
||||
// Empty seats with completely empty neighbors, fill up
|
||||
(cond
|
||||
((= true (apply = (for neighbor n #{neighbor != fullSeat;}#)))
|
||||
(set changed.changed true)
|
||||
fullSeat)
|
||||
(true emptySeat)))
|
||||
|
||||
(function :FerrySquare fullSeat [:Array<FerrySquare> n :SeatsChanged changed]
|
||||
// Full seats with 4 or more full neighbors become empty
|
||||
(cond
|
||||
((<= 4 (count n (lambda [neighbor] #{neighbor == fullSeat;}#)))
|
||||
(set changed.changed true)
|
||||
emptySeat)
|
||||
(true fullSeat)))
|
||||
|
||||
(function neighbors [x y :Array<Array<FerrySquare>> grid]
|
||||
(localVar &mut n [])
|
||||
(doFor xx (range (- x 1) (+ x 2))
|
||||
(doFor yy (range (- y 1) (+ y 2))
|
||||
(unless (and (= x xx) (= y yy))
|
||||
(when (and (<= 0 xx) (<= 0 yy) (> grid.length yy) (> .length (nth grid yy) xx))
|
||||
(n.push (nth (nth grid yy) xx))))))
|
||||
n)
|
||||
|
||||
(prop &mut :Array<Array<FerrySquare>> state [])
|
||||
|
||||
(method simulate []
|
||||
(localVar changed (object changed false))
|
||||
(set state
|
||||
(for rowIdx (range state.length)
|
||||
(let [:Array<FerrySquare> row (nth state rowIdx)]
|
||||
(for seatIdx (range row.length) ((nth row seatIdx) (neighbors seatIdx rowIdx state) changed)))))
|
||||
changed.changed)
|
||||
|
||||
(method fullSimulate []
|
||||
(when (simulate) (fullSimulate)))
|
||||
|
||||
(method countFullSeats []
|
||||
(apply +
|
||||
(for :Array<FerrySquare> row state
|
||||
(apply +
|
||||
(for :FerrySquare seat row
|
||||
(if #{seat == fullSeat;}# 1 0))))))
|
||||
|
||||
(defReaderMacro "L" [stream] `emptySeat)
|
||||
(defReaderMacro "#" [stream] `fullSeat)
|
||||
(defReaderMacro "." [stream] `floor)
|
||||
(undefReaderMacro "...")
|
||||
|
||||
(defReaderMacro &start "" [stream]
|
||||
`(state.push ,(ReaderExp.ListExp (readExpArray stream "\n"))))
|
||||
9
projects/_standalone/aoc/src/year2020/Passports.hx
Normal file
9
projects/_standalone/aoc/src/year2020/Passports.hx
Normal file
@@ -0,0 +1,9 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
import kiss.Stream;
|
||||
|
||||
using StringTools;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Passports {}
|
||||
39
projects/_standalone/aoc/src/year2020/Passports.kiss
Normal file
39
projects/_standalone/aoc/src/year2020/Passports.kiss
Normal file
@@ -0,0 +1,39 @@
|
||||
(function readPassport [:Stream stream &opt :Map<String,String> pp]
|
||||
(set pp (or pp (new Map<String,String>)))
|
||||
(when (stream.isEmpty) (return pp))
|
||||
(let [key (stream.expect "passport key" (lambda [] (stream.takeUntilAndDrop ":")))
|
||||
value (stream.expect "passport value" (lambda [] (stream.takeUntilOneOf [" " "\n"] true)))]
|
||||
(dictSet pp key value))
|
||||
(if (= "\n\n" (try (stream.expect "paragraph break" (lambda [] (stream.peekChars 2))) (catch [e] "")))
|
||||
(begin (stream.dropWhitespace) pp)
|
||||
(begin (stream.dropWhitespace) (readPassport stream pp))))
|
||||
|
||||
(function checkPassport [:Map<String,String> pp strict]
|
||||
(doFor key ["byr" "iyr" "eyr" "hgt" "hcl" "ecl" "pid"]
|
||||
(if !(pp.exists key) (return false)))
|
||||
(when strict
|
||||
(unless (<= 1920 (Std.parseInt (dictGet pp "byr")) 2002) (return false))
|
||||
(unless (<= 2010 (Std.parseInt (dictGet pp "iyr")) 2020) (return false))
|
||||
(unless (<= 2020 (Std.parseInt (dictGet pp "eyr")) 2030) (return false))
|
||||
(let [hgt (dictGet pp "hgt")
|
||||
[min max] (cond ((hgt.endsWith "cm") [150 193]) ((hgt.endsWith "in") [59 76]) (true (return false)))]
|
||||
(unless (<= min (Std.parseInt hgt) max) (return false)))
|
||||
(let [hcl (dictGet pp "hcl")]
|
||||
(unless (and
|
||||
(hcl.startsWith "#")
|
||||
(= hcl.length 7)
|
||||
(apply = (concat [true]
|
||||
(for c (.split (hcl.substr 1) "")
|
||||
(<= 0 (.indexOf (.split "0123456789abcdef" "") c))))))
|
||||
(return false)))
|
||||
(let [ecl (dictGet pp "ecl")]
|
||||
(unless (<= 0 (.indexOf (.split "amb blu brn gry grn hzl oth" " ") ecl)) (return false)))
|
||||
(let [pid (dictGet pp "pid")]
|
||||
(unless (and (= 9 pid.length) (Std.parseInt pid)) (return false))))
|
||||
(return true))
|
||||
|
||||
(function countValidPassports [:Stream stream &opt strict c]
|
||||
(unless c (set c 0))
|
||||
(if (stream.isEmpty)
|
||||
c
|
||||
(countValidPassports stream strict (if (checkPassport (readPassport stream) strict) (+ c 1) c))))
|
||||
8
projects/_standalone/aoc/src/year2020/Passwords.hx
Normal file
8
projects/_standalone/aoc/src/year2020/Passwords.hx
Normal file
@@ -0,0 +1,8 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
|
||||
using StringTools;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Passwords {}
|
||||
17
projects/_standalone/aoc/src/year2020/Passwords.kiss
Normal file
17
projects/_standalone/aoc/src/year2020/Passwords.kiss
Normal file
@@ -0,0 +1,17 @@
|
||||
|
||||
(function parsePasswordCheck1 [:String ruleStr]
|
||||
(let [[min max letter]
|
||||
(.split (ruleStr.replace " " "-") "-")]
|
||||
(lambda [password] (<= (Std.parseInt min) (Util.countChar letter password) (Std.parseInt max)))))
|
||||
|
||||
(function parsePasswordCheck2 [:String ruleStr]
|
||||
(let [[a b letter]
|
||||
(.split (ruleStr.replace " " "-") "-")
|
||||
aIdx (- (Std.parseInt a) 1)
|
||||
bIdx (- (Std.parseInt b) 1)]
|
||||
(lambda [password] (= 1 (Util.countChar letter (+ (.charAt password aIdx) (.charAt password bIdx)))))))
|
||||
|
||||
(function validateInputLine [:String line ruleParser]
|
||||
(let [[rule password]
|
||||
(line.split ": ")]
|
||||
((ruleParser rule) password)))
|
||||
8
projects/_standalone/aoc/src/year2020/Seating.hx
Normal file
8
projects/_standalone/aoc/src/year2020/Seating.hx
Normal file
@@ -0,0 +1,8 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
|
||||
using StringTools;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Seating {}
|
||||
17
projects/_standalone/aoc/src/year2020/Seating.kiss
Normal file
17
projects/_standalone/aoc/src/year2020/Seating.kiss
Normal file
@@ -0,0 +1,17 @@
|
||||
// Airplane seating
|
||||
|
||||
(function search [:Array<String> letters min max rowOrColumn]
|
||||
(if (= min max)
|
||||
min
|
||||
(let [middle (Math.floor (/ (+ min max) 2))]
|
||||
(case [(letters.shift) rowOrColumn]
|
||||
(["F" "row"] (search letters min middle rowOrColumn))
|
||||
(["B" "row"] (search letters (+ 1 middle) max rowOrColumn))
|
||||
(["L" "column"] (search letters min middle rowOrColumn))
|
||||
(["R" "column"] (search letters (+ 1 middle) max rowOrColumn))
|
||||
(otherwise (throw "invalid search call"))))))
|
||||
|
||||
(function seatId [:String boardingPass]
|
||||
(+
|
||||
(* 8 (search (.split (boardingPass.substr 0 7) "") 0 127 "row"))
|
||||
(search (.split (boardingPass.substr 7) "") 0 7 "column")))
|
||||
27
projects/_standalone/aoc/src/year2020/Solutions2020.hx
Normal file
27
projects/_standalone/aoc/src/year2020/Solutions2020.hx
Normal file
@@ -0,0 +1,27 @@
|
||||
package year2020;
|
||||
|
||||
import haxe.ds.Map;
|
||||
import haxe.Int64;
|
||||
import StringTools;
|
||||
import kiss.Prelude;
|
||||
import kiss.Stream;
|
||||
import year2020.SummingTuples;
|
||||
import year2020.Passwords;
|
||||
import year2020.Toboggan;
|
||||
import year2020.Passports;
|
||||
import year2020.Seating;
|
||||
import year2020.Customs;
|
||||
import year2020.Bags;
|
||||
#if (day8 && year2020)
|
||||
import year2020.BootCode;
|
||||
#end
|
||||
import year2020.Adapters;
|
||||
#if (day11 && year2020)
|
||||
import year2020.FerrySim;
|
||||
#end
|
||||
#if (day12 && year2020)
|
||||
import year2020.Evasion;
|
||||
#end
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Solutions2020 {}
|
||||
159
projects/_standalone/aoc/src/year2020/Solutions2020.kiss
Normal file
159
projects/_standalone/aoc/src/year2020/Solutions2020.kiss
Normal file
@@ -0,0 +1,159 @@
|
||||
(load "../UtilMacros.kiss")
|
||||
|
||||
(function run []
|
||||
(day 1
|
||||
(let [p (SummingTuples.pairWithSum 2020 [1721 979 366 299 675 1456])]
|
||||
(assert (and (has p 1721) (has p 299)) "pairWithSum is broken"))
|
||||
(let [[a b] (SummingTuples.pairWithSum 2020 (Util.readInts "src/year2020/inputs/day1-1.txt"))]
|
||||
(assert (= 545379 (* a b)) "pairWithSum is broken"))
|
||||
(let [t (SummingTuples.trioWithSum 2020 [1721 979 366 299 675 1456])]
|
||||
(assert (and (has t 675) (has t 366) (has t 979))
|
||||
"trioWithSum is broken"))
|
||||
(let [[a b c] (SummingTuples.trioWithSum 2020 (Util.readInts "src/year2020/inputs/day1-1.txt"))]
|
||||
(assert (= 257778836 (* a b c))
|
||||
"trioWithSum is broken")))
|
||||
|
||||
(day 2
|
||||
(assert (Passwords.validateInputLine "1-3 a: abcde" Passwords.parsePasswordCheck1))
|
||||
(assert !(Passwords.validateInputLine "1-3 b: cdefg" Passwords.parsePasswordCheck1))
|
||||
(assert (Passwords.validateInputLine "2-9 c: ccccccccc" Passwords.parsePasswordCheck1))
|
||||
(assert (= 655 (count (map (Util.readLines "src/year2020/inputs/day2-1.txt") (.bind Passwords.validateInputLine _ Passwords.parsePasswordCheck1)) (lambda [v] v))))
|
||||
(assert (Passwords.validateInputLine "1-3 a: abcde" Passwords.parsePasswordCheck2))
|
||||
(assert !(Passwords.validateInputLine "1-3 b: cdefg" Passwords.parsePasswordCheck2))
|
||||
(assert !(Passwords.validateInputLine "2-9 c: ccccccccc" Passwords.parsePasswordCheck2))
|
||||
(assert (= 673 (count (map (Util.readLines "src/year2020/inputs/day2-1.txt") (.bind Passwords.validateInputLine _ Passwords.parsePasswordCheck2)) (lambda [v] v)))))
|
||||
|
||||
(day 3
|
||||
(localVar exampleHillTile [
|
||||
"..##......."
|
||||
"#...#...#.."
|
||||
".#....#..#."
|
||||
"..#.#...#.#"
|
||||
".#...##..#."
|
||||
"..#.##....."
|
||||
".#.#.#....#"
|
||||
".#........#"
|
||||
"#.##...#..."
|
||||
"#...##....#"
|
||||
".#..#...#.#"])
|
||||
(assert (= "..#.##.####" (Toboggan.pathString exampleHillTile 0 0 3 1)))
|
||||
(assert (= 2 (Toboggan.pathTrees exampleHillTile 0 0 1 1)))
|
||||
(assert (= 3 (Toboggan.pathTrees exampleHillTile 0 0 5 1)))
|
||||
(assert (= 4 (Toboggan.pathTrees exampleHillTile 0 0 7 1)))
|
||||
(assert (= 2 (Toboggan.pathTrees exampleHillTile 0 0 1 2)))
|
||||
(assert (= 289 (Util.countChar "#" (Toboggan.pathString (Util.readLines "src/year2020/inputs/day3-1.txt") 0 0 3 1))))
|
||||
(assert (= 5522401584 (let [hillTile (Util.readLines "src/year2020/inputs/day3-1.txt")]
|
||||
(apply * (for args [[0 0 1 1] [0 0 3 1] [0 0 5 1] [0 0 7 1] [0 0 1 2]] (apply (Toboggan.pathTrees.bind hillTile) args)))))))
|
||||
|
||||
(day 4
|
||||
(assert (= 2 (Passports.countValidPassports (Stream.fromFile "src/year2020/inputs/day4-example.txt"))))
|
||||
(assert (= 250 (Passports.countValidPassports (Stream.fromFile "src/year2020/inputs/day4-1.txt"))))
|
||||
(assert (= 158 (Passports.countValidPassports (Stream.fromFile "src/year2020/inputs/day4-1.txt") "strict"))))
|
||||
|
||||
(day 5
|
||||
(assert (= 567 (Seating.seatId "BFFFBBFRRR")))
|
||||
(let [:kiss.List<Int> seatIds (map (Util.readLines "src/year2020/inputs/day5-1.txt") Seating.seatId)]
|
||||
(seatIds.sort (lambda [a b] (- a b)))
|
||||
(assert (= 947 (nth seatIds -1)))
|
||||
(localVar &mut lastId -1)
|
||||
(localVar &mut myId -1)
|
||||
(doFor id seatIds
|
||||
(when (and (<= 0 lastId) !(= lastId (- id 1)))
|
||||
(set myId (- id 1))
|
||||
(break))
|
||||
(set lastId id))
|
||||
(assert (= 636 myId))))
|
||||
|
||||
(day 6
|
||||
(assert (= 6 (Customs.countAnyYes ["abcx" "abcy" "abcz"])))
|
||||
(assert (= 6683 (apply + (map (Util.readParagraphLines "src/year2020/inputs/day6-1.txt") Customs.countAnyYes))))
|
||||
(assert (= 6 (apply + (map (Util.readParagraphLines "src/year2020/inputs/day6-example2.txt") Customs.countAllYes))))
|
||||
(assert (= 3122 (apply + (map (Util.readParagraphLines "src/year2020/inputs/day6-1.txt") Customs.countAllYes)))))
|
||||
|
||||
(day 7
|
||||
(localVar parentMap (new ParentMap))
|
||||
(localVar childMap (new ChildMap))
|
||||
(doFor line (Util.readLines "src/year2020/inputs/day7.txt")
|
||||
(Bags.parseRule line parentMap childMap))
|
||||
(localVar :Map<String,Bool> shinyGoldParents (new Map))
|
||||
(Bags.findIndirectContainers "shiny gold" childMap shinyGoldParents)
|
||||
(assert (= 172 (count shinyGoldParents)))
|
||||
(assert (= 39645 (Bags.totalChildBags "shiny gold" parentMap))))
|
||||
|
||||
(day 8
|
||||
(let [example (new BootCodeExample)]
|
||||
(example.setBreakHandler (lambda :Void [example] (assert (= 5 .accumulator example))))
|
||||
(example.run))
|
||||
(let [bootCode (new BootCodeReal)]
|
||||
(bootCode.setBreakHandler (lambda :Void [bootCode] (assert (= 2058 bootCode.accumulator))))
|
||||
(bootCode.run))
|
||||
/* (print "BootCodeFixExample")
|
||||
(let [bootCode (new BootCodeFixExample)]
|
||||
(bootCode.setBreakHandler
|
||||
(lambda :Void [bootCodeFork]
|
||||
(if (= bootCodeFork.instructionPointer (bootCodeFork.instructionCount))
|
||||
(print (+ "answer could be " (Std.string bootCodeFork.accumulator) " forked at " (Std.string bootCodeFork.forkedAt)))
|
||||
(print "hit an infinite loop"))))
|
||||
(bootCode.addBreakPoint (bootCode.instructionCount))
|
||||
(bootCode.run))
|
||||
(print "BootCodeFixReal")
|
||||
(let [bootCode (new BootCodeFix)]
|
||||
(bootCode.setBreakHandler
|
||||
(lambda :Void [bootCodeFork]
|
||||
(if (= bootCodeFork.instructionPointer (bootCodeFork.instructionCount))
|
||||
(print (+ "answer could be " (Std.string bootCodeFork.accumulator) " forked at " (Std.string (+ 1 bootCodeFork.forkedAt))))
|
||||
(print "hit an infinite loop"))))
|
||||
(bootCode.addBreakPoint (bootCode.instructionCount))
|
||||
(bootCode.run)) */
|
||||
)
|
||||
|
||||
(day 9
|
||||
(assert (= 127 (XMAS.firstOffender 5
|
||||
[35 20 15 25 47 40 62 55 65 95 102 117 150 182 127 219 299 277 309 576])))
|
||||
(assert (= 133015568 (XMAS.firstOffender 25 (Util.readInts "src/year2020/inputs/day9.txt"))))
|
||||
(assert (= "[15,25,47,40]" (.toString (SummingTuples.contiguousSumTuple 127
|
||||
[35 20 15 25 47 40 62 55 65 95 102 117 150 182 127 219 299 277 309 576]))))
|
||||
(let [tuple (SummingTuples.contiguousSumTuple 133015568 (Util.readInts "src/year2020/inputs/day9.txt"))]
|
||||
(assert (= 16107959 (+ (apply min tuple) (apply max tuple))))))
|
||||
|
||||
(day 10
|
||||
(assert (Int64.eq 8 (Adapters.arrangementCount (sort [0 22 16 10 15 5 1 11 7 19 6 12 4]) 0)))
|
||||
(assert (Int64.eq 19208 (Adapters.arrangementCount (sort [0 52 28 33 18 42 31 14 46 20 48 47 24 23 49 45 19 38 39 11 1 32 25 35 8 17 7 9 4 2 34 10 3]) 0)))
|
||||
(let [adapters (sort (Util.readInts "src/year2020/inputs/day10.txt"))]
|
||||
(adapters.unshift 0)
|
||||
(adapters.push (+ 3 (last adapters)))
|
||||
(let [diffs (Adapters.differences adapters)
|
||||
dist (Adapters.distribution diffs)]
|
||||
(assert (= 1998 (* (dictGet dist 1) (dictGet dist 3)))))
|
||||
(let [memoized (memoize Adapters.arrangementCount)]
|
||||
(set Adapters.arrangementCount (cast memoized)))
|
||||
(assert (= "347250213298688" (Int64.toStr (Adapters.arrangementCount adapters 0))))))
|
||||
|
||||
(day 11
|
||||
(let [example (new FerrySimExample)
|
||||
real (new FerrySimReal)]
|
||||
(example.run)
|
||||
(example.simulate)
|
||||
(assert (= 71 (example.countFullSeats)))
|
||||
(real.run)
|
||||
(real.fullSimulate)
|
||||
(assert (= 2329 (real.countFullSeats)))))
|
||||
|
||||
(day 12
|
||||
(let [script (new EvasionScript)]
|
||||
(script.run)
|
||||
(assert (= 441 (+ (Math.abs script.x) (Math.abs script.y))))))
|
||||
|
||||
(dayTodo 13)
|
||||
(dayTodo 14)
|
||||
(dayTodo 15)
|
||||
(dayTodo 16)
|
||||
(dayTodo 17)
|
||||
(dayTodo 18)
|
||||
(dayTodo 19)
|
||||
(dayTodo 20)
|
||||
(dayTodo 21)
|
||||
(dayTodo 22)
|
||||
(dayTodo 23)
|
||||
(dayTodo 24)
|
||||
(dayTodo 25))
|
||||
6
projects/_standalone/aoc/src/year2020/SummingTuples.hx
Normal file
6
projects/_standalone/aoc/src/year2020/SummingTuples.hx
Normal file
@@ -0,0 +1,6 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class SummingTuples {}
|
||||
29
projects/_standalone/aoc/src/year2020/SummingTuples.kiss
Normal file
29
projects/_standalone/aoc/src/year2020/SummingTuples.kiss
Normal file
@@ -0,0 +1,29 @@
|
||||
(function :kiss.List<Int> pairWithSum [sum :kiss.List<Int> numbers]
|
||||
// Put the numbers in a map for random access. This gives an O(n) solution
|
||||
(localVar :Map<Int,Int> numbersMap (new Map))
|
||||
(doFor number numbers
|
||||
(dictSet numbersMap number (- sum number))
|
||||
(let [requiredForPair (dictGet numbersMap number)]
|
||||
(when (numbersMap.exists requiredForPair)
|
||||
(return [number requiredForPair]))))
|
||||
null)
|
||||
|
||||
(function :kiss.List<Int> trioWithSum [sum :kiss.List<Int> numbers]
|
||||
(doFor number numbers
|
||||
(let [requiredForTrio (- sum number)
|
||||
pairThatSatisfies (pairWithSum requiredForTrio numbers)]
|
||||
(when pairThatSatisfies
|
||||
(return [number (nth pairThatSatisfies 0) (nth pairThatSatisfies 1)]))))
|
||||
null)
|
||||
|
||||
(function contiguousSumTuple [sum :kiss.List<Int> numbers]
|
||||
(doFor i (range numbers.length)
|
||||
(localVar &mut testSum (nth numbers i))
|
||||
(doFor j (range (+ i 1) numbers.length)
|
||||
(set testSum (+ testSum (nth numbers j)))
|
||||
(cond
|
||||
((= testSum sum)
|
||||
(return (numbers.slice i (+ j 1))))
|
||||
((> testSum sum)
|
||||
(break)))))
|
||||
null)
|
||||
6
projects/_standalone/aoc/src/year2020/Toboggan.hx
Normal file
6
projects/_standalone/aoc/src/year2020/Toboggan.hx
Normal file
@@ -0,0 +1,6 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Toboggan {}
|
||||
8
projects/_standalone/aoc/src/year2020/Toboggan.kiss
Normal file
8
projects/_standalone/aoc/src/year2020/Toboggan.kiss
Normal file
@@ -0,0 +1,8 @@
|
||||
(function path [:kiss.List<String> hillTile x0 y0 dx dy]
|
||||
(if (>= y0 .length hillTile)
|
||||
[]
|
||||
(concat [(.charAt (nth hillTile y0) (Math.floor (% x0 .length (nth hillTile y0))))] (path hillTile (+ x0 dx) (+ y0 dy) dx dy))))
|
||||
|
||||
(function pathString [:kiss.List<String> hillTile x0 y0 dx dy] (.join (path hillTile x0 y0 dx dy) ""))
|
||||
|
||||
(function pathTrees [:kiss.List<String> hillTile x0 y0 dx dy] (Util.countChar "#" (pathString hillTile x0 y0 dx dy)))
|
||||
7
projects/_standalone/aoc/src/year2020/XMAS.hx
Normal file
7
projects/_standalone/aoc/src/year2020/XMAS.hx
Normal file
@@ -0,0 +1,7 @@
|
||||
package year2020;
|
||||
|
||||
import kiss.Prelude;
|
||||
import year2020.SummingTuples;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class XMAS {}
|
||||
5
projects/_standalone/aoc/src/year2020/XMAS.kiss
Normal file
5
projects/_standalone/aoc/src/year2020/XMAS.kiss
Normal file
@@ -0,0 +1,5 @@
|
||||
(function firstOffender [preambleLength :kiss.List<Int> input]
|
||||
(doFor idx (range preambleLength input.length)
|
||||
(unless (SummingTuples.pairWithSum (nth input idx) (input.slice (- idx preambleLength) idx))
|
||||
(return (nth input idx))))
|
||||
(print null))
|
||||
200
projects/_standalone/aoc/src/year2020/inputs/day1-1.txt
Normal file
200
projects/_standalone/aoc/src/year2020/inputs/day1-1.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
1825
|
||||
1944
|
||||
1802
|
||||
1676
|
||||
1921
|
||||
1652
|
||||
1710
|
||||
1952
|
||||
1932
|
||||
1934
|
||||
1823
|
||||
1732
|
||||
1795
|
||||
1681
|
||||
1706
|
||||
1697
|
||||
1919
|
||||
1695
|
||||
2007
|
||||
1889
|
||||
1942
|
||||
961
|
||||
1868
|
||||
1878
|
||||
1723
|
||||
416
|
||||
1875
|
||||
1831
|
||||
1890
|
||||
1654
|
||||
1956
|
||||
1827
|
||||
973
|
||||
1947
|
||||
1688
|
||||
1680
|
||||
1808
|
||||
1998
|
||||
1794
|
||||
1552
|
||||
1935
|
||||
1693
|
||||
1824
|
||||
1711
|
||||
1766
|
||||
1668
|
||||
1968
|
||||
1884
|
||||
217
|
||||
2003
|
||||
1869
|
||||
1658
|
||||
1953
|
||||
1829
|
||||
1984
|
||||
2005
|
||||
1973
|
||||
428
|
||||
1957
|
||||
1925
|
||||
1719
|
||||
1797
|
||||
321
|
||||
1804
|
||||
1971
|
||||
922
|
||||
1976
|
||||
1863
|
||||
2008
|
||||
1806
|
||||
1833
|
||||
1809
|
||||
1707
|
||||
1954
|
||||
1811
|
||||
1815
|
||||
1915
|
||||
1799
|
||||
1917
|
||||
1664
|
||||
1937
|
||||
1775
|
||||
1685
|
||||
1756
|
||||
1940
|
||||
1660
|
||||
1859
|
||||
1916
|
||||
1989
|
||||
1763
|
||||
1994
|
||||
1716
|
||||
1689
|
||||
1866
|
||||
1708
|
||||
1670
|
||||
1982
|
||||
1870
|
||||
1847
|
||||
1627
|
||||
1819
|
||||
1786
|
||||
1828
|
||||
1640
|
||||
1699
|
||||
1722
|
||||
1737
|
||||
1882
|
||||
1666
|
||||
1871
|
||||
1703
|
||||
1770
|
||||
1623
|
||||
1837
|
||||
1636
|
||||
1655
|
||||
1930
|
||||
1739
|
||||
1810
|
||||
1805
|
||||
1861
|
||||
1922
|
||||
1993
|
||||
1896
|
||||
1760
|
||||
2002
|
||||
1779
|
||||
1633
|
||||
1972
|
||||
1856
|
||||
1641
|
||||
1718
|
||||
2004
|
||||
1730
|
||||
1826
|
||||
1923
|
||||
1753
|
||||
1735
|
||||
660
|
||||
1988
|
||||
1796
|
||||
1990
|
||||
1720
|
||||
1626
|
||||
1788
|
||||
1700
|
||||
942
|
||||
1902
|
||||
1943
|
||||
1758
|
||||
1839
|
||||
1924
|
||||
938
|
||||
1634
|
||||
1724
|
||||
1983
|
||||
1683
|
||||
1687
|
||||
1904
|
||||
1907
|
||||
1757
|
||||
2001
|
||||
1910
|
||||
1849
|
||||
1781
|
||||
1981
|
||||
1743
|
||||
1851
|
||||
2009
|
||||
619
|
||||
1898
|
||||
1891
|
||||
1751
|
||||
1765
|
||||
1959
|
||||
1888
|
||||
1894
|
||||
1759
|
||||
389
|
||||
1964
|
||||
1900
|
||||
1742
|
||||
1672
|
||||
1969
|
||||
1978
|
||||
1933
|
||||
1906
|
||||
1807
|
||||
1867
|
||||
1838
|
||||
1960
|
||||
1814
|
||||
1950
|
||||
1918
|
||||
1726
|
||||
1986
|
||||
1746
|
||||
2006
|
||||
1949
|
||||
1784
|
||||
100
projects/_standalone/aoc/src/year2020/inputs/day10.txt
Normal file
100
projects/_standalone/aoc/src/year2020/inputs/day10.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
46
|
||||
63
|
||||
21
|
||||
115
|
||||
125
|
||||
35
|
||||
89
|
||||
17
|
||||
116
|
||||
90
|
||||
51
|
||||
66
|
||||
111
|
||||
142
|
||||
148
|
||||
60
|
||||
2
|
||||
50
|
||||
82
|
||||
20
|
||||
47
|
||||
24
|
||||
80
|
||||
101
|
||||
103
|
||||
16
|
||||
34
|
||||
72
|
||||
145
|
||||
141
|
||||
124
|
||||
14
|
||||
123
|
||||
27
|
||||
62
|
||||
61
|
||||
95
|
||||
138
|
||||
29
|
||||
7
|
||||
149
|
||||
147
|
||||
104
|
||||
152
|
||||
22
|
||||
81
|
||||
11
|
||||
96
|
||||
97
|
||||
30
|
||||
41
|
||||
98
|
||||
59
|
||||
45
|
||||
88
|
||||
37
|
||||
10
|
||||
114
|
||||
110
|
||||
4
|
||||
56
|
||||
122
|
||||
139
|
||||
117
|
||||
108
|
||||
91
|
||||
36
|
||||
146
|
||||
131
|
||||
109
|
||||
31
|
||||
75
|
||||
70
|
||||
140
|
||||
38
|
||||
121
|
||||
3
|
||||
28
|
||||
118
|
||||
54
|
||||
107
|
||||
84
|
||||
15
|
||||
76
|
||||
71
|
||||
102
|
||||
130
|
||||
132
|
||||
87
|
||||
55
|
||||
129
|
||||
83
|
||||
23
|
||||
42
|
||||
69
|
||||
1
|
||||
77
|
||||
135
|
||||
128
|
||||
94
|
||||
@@ -0,0 +1,10 @@
|
||||
L.LL.LL.LL
|
||||
LLLLLLL.LL
|
||||
L.L.L..L..
|
||||
LLLL.LL.LL
|
||||
L.LL.LL.LL
|
||||
L.LLLLL.LL
|
||||
..L.L.....
|
||||
LLLLLLLLLL
|
||||
L.LLLLLL.L
|
||||
L.LLLLL.LL
|
||||
93
projects/_standalone/aoc/src/year2020/inputs/day11.txt
Normal file
93
projects/_standalone/aoc/src/year2020/inputs/day11.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
LLLLLLLLL.L.LLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLL..LLLLLL.LLLLLLLL.LLLLL.LL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLL..LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLL..LL.LLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLL..LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLL.LLLLL.LLLLLLLLLL..LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLLLL.LLLL.LLLLLLLLLL..LLLL.L.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LL.LLLLLL.LLLLLL.LLLLLLLLLLL.LLLLLLLLLL.L.LLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LL.L.LLLL.L.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
......L.L.L....LL.L.L..L.L..LL...L......LL..L.....L.LL.LLLL.LL.L..LL........L..LL.LLL.L..L.LL.L..L
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLL.L.LLLLLLLLLLLLLL.LLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.L.LL.LLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLL.LLLL.LLL.LLLLL.LL.LLLLLLLLL.LLLLLL.LLL..LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.L.LLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLLLLLLL.LL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLL.L...LLLLLLLL
|
||||
LLLLLLLLLLLLLLLL.LLLL.LLLL..LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLL.L
|
||||
LLLLLLLL..LL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLL.LLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLL
|
||||
LL..L.....L..L.L...LL...........LLL.L.L..L.L.....LL....LL....L...L...L..LL.L...LL.LL.LLL.L.L.LL.L.
|
||||
LLLLLLL.L.LLLLLL.LLL.LLLLLLLLLLLLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLL.LL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLL.LL.LLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLL.LLLLLLL
|
||||
.LLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLL.LLL.LLLLL.LLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.L.LL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL..LLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.L.LL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LL.LLL.LLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL..LLLLLLL.LLLL.LLLL.LLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
.L..L..L..........L...L.LL..L...LL....LL..LL..L...L.LL.L.L..LLLL..L.L....L.......LL........L.L..L.
|
||||
LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLL.LLLLL.LLLLLLLL.LLLLLL.LL.LLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLL.LLLL.L.LLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL..LLL.LLLL.LLLLLLLLLLL.LLL.LLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLL.LL.LL.LLL.LLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLL.LL.LLLLLLLLLLLL
|
||||
LLLLLLL.L.LLL..LL.LLLLLLLLLLLL.LLLLLLLLL.LLL.LLLL.LLLLL..LLLL..LLLL.L.LLLLLLL.LLLLLL.LL.LLLLLLLLLL
|
||||
L.LL...L..L..L.....L...L..LL...L..LL.L.....LL.LL.L...LL.LL...L....LLL.L..LL.L.L.LL..L..LL.L.L.L..L
|
||||
LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLL..LLLLLL.LLLL.LLLLLLLL.LL.LLLLL.LLLL.LL.L.LLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.L.LLL.LLLL
|
||||
LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLL..LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL..LLL.LL..L.L.LLL.LLL.LLLLLLLLL.LLLLLLLLLL
|
||||
L...LLL.L......LL....L.......L..L.LLL..LL.LL.L.....LL.LL.L....L.L....LL....L....LL...L.L.....L....
|
||||
LLLLLLLLL.LLLLLL.L.LL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LL.LLLLLLLL.LLL.LLLLLLLLL..LL.LLLL.LLLLLLLLLLL..L.L.LLLLLLL.LL.LLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
....L.L..L.L...L....L..L...L.LLL...L..LL.L..L.LL.L....L.................L...LL.LL......L...L...LL.
|
||||
LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLL..LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.L.LL.LLLL.LLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LL.LLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
.....L.LLLL.L.........LL.L..L...LL..LLL..L......LLL.....L.......L.LL.L.L........L...LLLLLL.L..LLL.
|
||||
LLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLL.LLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.L.LLLLLL.LLLLLLLLLLLLL.LL.L.LLLLLLL.LLL.L.LLLLLLLLLLLLL.LLLLLL.LL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL..LLLLLLLLLL.LLLLL.L.LLLLLLL.LLLLLLLLL.LLLLL.LLLL
|
||||
LLLL.....L.L...L.....L..L.L..L......LL..L...LL...L.LLL.L.L..L....L......LL.LL.L..L.L....L...LL..LL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.L
|
||||
LLLLLLLLL.L.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL.LL.LLL..LLLLLLLLLLL.L.LLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLL.LL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLL.LL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LL.L..LLL.LLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL..LLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.L.LL.LLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.L.LLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLL
|
||||
..LL.LL...L....LLLLL.....L.L..LL.L...LLLL.............L..L.LLL..........L.L...LL..LL.....LL.......
|
||||
LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LL.LLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLL..LLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLL.LL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLL.LLL.LLLLL.LLL.LLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLLLL.LLLL.LLLL.LLLLLLL.LLL.LL..LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LL.LLL.LLLL.LLLL.LLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL..LLLLLLLLLL
|
||||
..LLLL.LLL...LLLLL..........L...L......L..LL.....L..L..L..L.L..L..L.L..L.......L..L....LL.L.L.L.L.
|
||||
LLLLLL.LL.LLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL.LLL.LL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLL.L.LLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLL..LLLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLL.LLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLL..LLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLL.LLL..LLLL.LLL.LL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LL.LLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLLLL
|
||||
LLLLLLLLLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLL.LLLL.LLL..LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL...LLLLLLLLL
|
||||
L.LLLLLLL.LLLLLLL.LLL.LLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLL.LLLLLLLLLLL.L
|
||||
LLLLLLL.L.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLL..LLLLLLLLLL..LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
.LL...............L..L.L.LL...L.LL.....LL..L.LL.L.L...L.......L..L.LL..L.L...LL...L...............
|
||||
LLLLLLLLL.LLLLLL..LLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLL.LLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.L.LLLLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLL
|
||||
LLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.L.LLL.LLLLLL.LLL.LLLL.L.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLL.LL.LLL.LLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL
|
||||
LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LL.LLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
L.LLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLL.LLLL.LLLLLL.LLLL.LLLLLL..LLLLLLL.LLLLLLLLL.LLLLLLLLLL
|
||||
768
projects/_standalone/aoc/src/year2020/inputs/day12.txt
Normal file
768
projects/_standalone/aoc/src/year2020/inputs/day12.txt
Normal file
@@ -0,0 +1,768 @@
|
||||
S1
|
||||
F17
|
||||
S3
|
||||
F56
|
||||
W5
|
||||
F11
|
||||
N4
|
||||
F94
|
||||
W4
|
||||
S1
|
||||
L180
|
||||
E2
|
||||
F38
|
||||
S3
|
||||
F46
|
||||
L90
|
||||
N2
|
||||
S3
|
||||
W3
|
||||
L90
|
||||
E1
|
||||
L180
|
||||
F73
|
||||
L90
|
||||
E1
|
||||
N3
|
||||
R90
|
||||
S5
|
||||
E5
|
||||
L90
|
||||
W2
|
||||
F1
|
||||
E5
|
||||
R270
|
||||
W3
|
||||
S4
|
||||
W5
|
||||
F55
|
||||
E2
|
||||
L90
|
||||
W5
|
||||
L90
|
||||
E1
|
||||
L90
|
||||
F9
|
||||
W5
|
||||
F21
|
||||
E4
|
||||
F63
|
||||
E1
|
||||
F48
|
||||
N1
|
||||
F80
|
||||
E5
|
||||
L90
|
||||
N1
|
||||
E1
|
||||
S4
|
||||
R180
|
||||
F48
|
||||
F87
|
||||
N5
|
||||
W2
|
||||
F90
|
||||
S4
|
||||
E5
|
||||
F76
|
||||
F37
|
||||
R180
|
||||
E5
|
||||
F51
|
||||
S3
|
||||
R90
|
||||
F79
|
||||
F25
|
||||
L90
|
||||
W1
|
||||
F100
|
||||
S2
|
||||
E3
|
||||
L90
|
||||
N1
|
||||
W4
|
||||
F41
|
||||
S5
|
||||
L90
|
||||
W5
|
||||
L90
|
||||
W2
|
||||
S4
|
||||
W3
|
||||
F75
|
||||
L90
|
||||
F20
|
||||
E5
|
||||
N5
|
||||
R90
|
||||
F99
|
||||
N4
|
||||
N1
|
||||
L90
|
||||
N5
|
||||
N2
|
||||
E2
|
||||
S4
|
||||
F29
|
||||
L180
|
||||
N1
|
||||
W3
|
||||
L90
|
||||
W3
|
||||
L180
|
||||
F84
|
||||
F25
|
||||
E1
|
||||
S3
|
||||
R90
|
||||
F64
|
||||
L90
|
||||
E1
|
||||
F40
|
||||
N3
|
||||
R90
|
||||
N3
|
||||
F67
|
||||
F37
|
||||
L90
|
||||
F17
|
||||
E4
|
||||
F87
|
||||
N3
|
||||
W5
|
||||
S2
|
||||
R90
|
||||
E4
|
||||
N1
|
||||
W4
|
||||
F75
|
||||
E2
|
||||
F18
|
||||
R90
|
||||
F6
|
||||
S4
|
||||
F13
|
||||
E1
|
||||
L270
|
||||
F50
|
||||
W2
|
||||
R90
|
||||
W4
|
||||
S5
|
||||
R90
|
||||
F14
|
||||
L180
|
||||
N5
|
||||
L180
|
||||
F78
|
||||
E1
|
||||
S3
|
||||
R90
|
||||
E2
|
||||
R270
|
||||
E4
|
||||
S1
|
||||
L90
|
||||
L180
|
||||
F91
|
||||
W3
|
||||
W5
|
||||
F45
|
||||
N4
|
||||
F44
|
||||
L90
|
||||
N3
|
||||
L90
|
||||
S2
|
||||
L90
|
||||
F76
|
||||
W3
|
||||
R90
|
||||
F3
|
||||
W3
|
||||
F24
|
||||
L90
|
||||
F83
|
||||
W2
|
||||
F19
|
||||
S4
|
||||
L90
|
||||
N4
|
||||
E5
|
||||
L180
|
||||
N5
|
||||
W5
|
||||
F67
|
||||
S3
|
||||
R90
|
||||
E4
|
||||
F51
|
||||
L90
|
||||
E5
|
||||
L90
|
||||
F79
|
||||
E2
|
||||
N2
|
||||
W4
|
||||
E2
|
||||
L90
|
||||
F41
|
||||
E4
|
||||
N2
|
||||
L90
|
||||
N2
|
||||
L90
|
||||
N3
|
||||
F51
|
||||
F79
|
||||
N2
|
||||
W2
|
||||
N5
|
||||
W4
|
||||
F60
|
||||
N3
|
||||
R90
|
||||
W4
|
||||
S1
|
||||
F59
|
||||
W1
|
||||
F3
|
||||
N5
|
||||
L180
|
||||
N5
|
||||
F23
|
||||
N4
|
||||
E3
|
||||
R90
|
||||
F14
|
||||
W4
|
||||
F86
|
||||
L90
|
||||
N2
|
||||
S1
|
||||
W3
|
||||
R90
|
||||
N1
|
||||
F25
|
||||
L90
|
||||
F22
|
||||
E5
|
||||
F88
|
||||
L270
|
||||
F14
|
||||
N5
|
||||
F32
|
||||
N1
|
||||
F98
|
||||
S1
|
||||
W2
|
||||
E5
|
||||
L180
|
||||
E4
|
||||
S2
|
||||
F46
|
||||
L180
|
||||
W4
|
||||
F87
|
||||
E2
|
||||
F83
|
||||
R90
|
||||
S5
|
||||
F68
|
||||
E5
|
||||
F95
|
||||
N1
|
||||
F43
|
||||
E2
|
||||
F64
|
||||
S3
|
||||
F5
|
||||
S1
|
||||
W3
|
||||
L90
|
||||
E4
|
||||
L90
|
||||
F63
|
||||
S3
|
||||
F44
|
||||
N4
|
||||
R90
|
||||
F95
|
||||
S5
|
||||
W1
|
||||
N4
|
||||
W4
|
||||
F87
|
||||
W3
|
||||
N3
|
||||
L180
|
||||
W4
|
||||
R180
|
||||
N2
|
||||
E2
|
||||
N2
|
||||
L90
|
||||
W5
|
||||
R90
|
||||
W1
|
||||
F22
|
||||
L180
|
||||
N4
|
||||
W1
|
||||
S1
|
||||
R90
|
||||
N3
|
||||
R180
|
||||
S5
|
||||
W4
|
||||
R90
|
||||
E3
|
||||
S1
|
||||
E3
|
||||
N1
|
||||
L270
|
||||
F96
|
||||
E2
|
||||
N1
|
||||
F98
|
||||
W4
|
||||
L90
|
||||
W1
|
||||
W4
|
||||
R90
|
||||
W2
|
||||
S3
|
||||
F64
|
||||
S3
|
||||
F67
|
||||
N2
|
||||
R180
|
||||
S5
|
||||
F13
|
||||
N4
|
||||
F53
|
||||
W1
|
||||
N1
|
||||
L90
|
||||
F54
|
||||
S1
|
||||
E2
|
||||
F28
|
||||
R90
|
||||
W3
|
||||
L90
|
||||
E3
|
||||
N4
|
||||
F34
|
||||
R90
|
||||
F51
|
||||
L90
|
||||
F24
|
||||
R180
|
||||
W4
|
||||
N2
|
||||
F88
|
||||
F78
|
||||
S2
|
||||
E1
|
||||
N2
|
||||
L180
|
||||
F58
|
||||
E4
|
||||
R90
|
||||
N4
|
||||
L90
|
||||
N5
|
||||
R180
|
||||
N5
|
||||
R270
|
||||
W3
|
||||
F41
|
||||
S4
|
||||
F61
|
||||
R90
|
||||
F71
|
||||
S1
|
||||
F9
|
||||
R90
|
||||
F47
|
||||
W2
|
||||
N4
|
||||
L180
|
||||
W5
|
||||
F52
|
||||
L90
|
||||
N4
|
||||
F11
|
||||
W3
|
||||
L90
|
||||
W5
|
||||
N4
|
||||
F10
|
||||
S1
|
||||
F75
|
||||
S5
|
||||
L90
|
||||
S2
|
||||
F28
|
||||
L90
|
||||
F80
|
||||
E3
|
||||
R180
|
||||
E4
|
||||
F42
|
||||
E4
|
||||
F85
|
||||
N1
|
||||
W4
|
||||
R90
|
||||
E2
|
||||
F38
|
||||
R90
|
||||
F77
|
||||
F95
|
||||
L90
|
||||
S5
|
||||
F86
|
||||
R90
|
||||
N1
|
||||
E2
|
||||
R90
|
||||
N3
|
||||
F28
|
||||
R180
|
||||
N5
|
||||
F25
|
||||
E3
|
||||
F52
|
||||
N4
|
||||
E3
|
||||
N4
|
||||
E3
|
||||
F37
|
||||
L180
|
||||
N1
|
||||
E2
|
||||
L180
|
||||
E5
|
||||
F82
|
||||
N4
|
||||
F100
|
||||
N3
|
||||
E3
|
||||
L90
|
||||
W3
|
||||
S1
|
||||
R270
|
||||
E5
|
||||
W5
|
||||
R90
|
||||
F44
|
||||
F15
|
||||
R180
|
||||
S3
|
||||
L90
|
||||
E4
|
||||
F44
|
||||
R90
|
||||
N1
|
||||
E4
|
||||
N4
|
||||
F62
|
||||
R90
|
||||
S4
|
||||
L180
|
||||
S1
|
||||
F13
|
||||
E3
|
||||
F70
|
||||
L270
|
||||
F52
|
||||
L270
|
||||
F80
|
||||
L90
|
||||
F89
|
||||
N4
|
||||
F79
|
||||
W5
|
||||
F55
|
||||
R90
|
||||
F62
|
||||
E4
|
||||
F91
|
||||
R180
|
||||
E2
|
||||
F74
|
||||
R90
|
||||
F18
|
||||
L90
|
||||
E3
|
||||
N5
|
||||
E2
|
||||
R90
|
||||
W2
|
||||
R180
|
||||
N3
|
||||
F69
|
||||
W3
|
||||
R90
|
||||
F92
|
||||
E2
|
||||
F48
|
||||
N2
|
||||
L90
|
||||
S3
|
||||
F49
|
||||
E3
|
||||
L180
|
||||
F6
|
||||
R90
|
||||
S5
|
||||
F58
|
||||
F67
|
||||
E5
|
||||
S2
|
||||
L90
|
||||
W5
|
||||
F3
|
||||
S1
|
||||
F73
|
||||
W1
|
||||
E4
|
||||
R180
|
||||
N3
|
||||
E2
|
||||
F72
|
||||
L90
|
||||
S1
|
||||
F31
|
||||
W1
|
||||
F44
|
||||
L180
|
||||
F100
|
||||
W3
|
||||
N1
|
||||
W5
|
||||
L90
|
||||
S2
|
||||
N3
|
||||
R90
|
||||
W4
|
||||
S5
|
||||
F62
|
||||
E5
|
||||
F55
|
||||
L180
|
||||
W2
|
||||
L90
|
||||
E1
|
||||
F45
|
||||
S3
|
||||
W2
|
||||
F49
|
||||
N4
|
||||
L90
|
||||
E3
|
||||
N2
|
||||
R180
|
||||
E5
|
||||
N1
|
||||
N5
|
||||
E5
|
||||
R90
|
||||
W3
|
||||
F73
|
||||
E3
|
||||
F66
|
||||
L90
|
||||
S2
|
||||
E3
|
||||
F100
|
||||
S3
|
||||
W2
|
||||
S4
|
||||
W5
|
||||
R180
|
||||
E4
|
||||
S3
|
||||
S1
|
||||
W2
|
||||
R90
|
||||
F22
|
||||
R90
|
||||
F76
|
||||
L270
|
||||
S5
|
||||
F95
|
||||
L90
|
||||
N3
|
||||
F16
|
||||
R270
|
||||
S3
|
||||
N5
|
||||
F66
|
||||
R90
|
||||
F63
|
||||
W5
|
||||
F37
|
||||
N2
|
||||
L90
|
||||
W1
|
||||
F68
|
||||
R90
|
||||
F98
|
||||
E4
|
||||
S3
|
||||
R90
|
||||
E2
|
||||
S1
|
||||
F91
|
||||
E1
|
||||
F42
|
||||
E1
|
||||
F13
|
||||
S4
|
||||
F10
|
||||
R180
|
||||
E4
|
||||
R90
|
||||
N2
|
||||
W4
|
||||
L180
|
||||
N5
|
||||
R90
|
||||
N3
|
||||
F26
|
||||
R90
|
||||
F42
|
||||
L180
|
||||
E5
|
||||
S3
|
||||
L90
|
||||
S3
|
||||
E3
|
||||
F79
|
||||
R270
|
||||
E4
|
||||
F54
|
||||
N5
|
||||
W3
|
||||
F16
|
||||
W1
|
||||
S3
|
||||
R90
|
||||
F100
|
||||
S1
|
||||
W3
|
||||
N2
|
||||
E1
|
||||
S4
|
||||
F1
|
||||
R180
|
||||
F66
|
||||
W2
|
||||
R90
|
||||
W2
|
||||
F27
|
||||
E2
|
||||
F16
|
||||
R90
|
||||
S3
|
||||
F61
|
||||
E1
|
||||
F4
|
||||
L90
|
||||
N5
|
||||
F45
|
||||
L90
|
||||
N1
|
||||
L90
|
||||
F50
|
||||
W1
|
||||
R90
|
||||
N1
|
||||
F44
|
||||
S2
|
||||
F53
|
||||
S5
|
||||
F59
|
||||
E4
|
||||
S3
|
||||
E2
|
||||
N5
|
||||
E2
|
||||
L90
|
||||
E4
|
||||
L90
|
||||
N1
|
||||
L90
|
||||
N5
|
||||
F31
|
||||
R180
|
||||
N2
|
||||
F18
|
||||
E2
|
||||
F27
|
||||
L90
|
||||
F57
|
||||
R90
|
||||
F40
|
||||
R180
|
||||
E2
|
||||
F94
|
||||
S3
|
||||
E2
|
||||
S4
|
||||
E4
|
||||
R90
|
||||
L90
|
||||
E5
|
||||
N5
|
||||
E1
|
||||
N3
|
||||
F97
|
||||
S3
|
||||
F16
|
||||
E3
|
||||
W5
|
||||
F80
|
||||
S1
|
||||
W2
|
||||
S4
|
||||
F18
|
||||
N4
|
||||
E5
|
||||
R90
|
||||
N1
|
||||
F43
|
||||
N4
|
||||
E4
|
||||
N1
|
||||
E2
|
||||
W1
|
||||
F99
|
||||
W4
|
||||
F79
|
||||
F20
|
||||
E3
|
||||
F63
|
||||
W4
|
||||
F21
|
||||
E1
|
||||
F82
|
||||
E3
|
||||
R90
|
||||
F8
|
||||
N5
|
||||
W2
|
||||
L180
|
||||
W5
|
||||
F13
|
||||
S2
|
||||
L90
|
||||
N3
|
||||
R180
|
||||
N4
|
||||
F9
|
||||
L90
|
||||
F39
|
||||
1000
projects/_standalone/aoc/src/year2020/inputs/day2-1.txt
Normal file
1000
projects/_standalone/aoc/src/year2020/inputs/day2-1.txt
Normal file
File diff suppressed because it is too large
Load Diff
323
projects/_standalone/aoc/src/year2020/inputs/day3-1.txt
Normal file
323
projects/_standalone/aoc/src/year2020/inputs/day3-1.txt
Normal file
@@ -0,0 +1,323 @@
|
||||
.#..#.....#....##..............
|
||||
...#.#...#...#.#..........#....
|
||||
#...###...#.#.....#.##.#.#...#.
|
||||
#.....#.#...##....#...#...#....
|
||||
##.......##.#.....#........##.#
|
||||
#..#....#......#..#......#...#.
|
||||
#..#......#.......#............
|
||||
##...#.#..#...#........#....##.
|
||||
#.#.#...#...#..#........#....#.
|
||||
.......#...........##......#...
|
||||
##.##.##......#..#............#
|
||||
..#.###..#..............#......
|
||||
.##..#.....#......#.#..........
|
||||
........#.........#....#....###
|
||||
#..........#........#.#.#......
|
||||
...##.....#..####.###..#.##....
|
||||
....#...###............#..#....
|
||||
...#.#...#.#...#..#.#........##
|
||||
.....#...#.............#..#....
|
||||
....#.#.#.##.....##.##....#....
|
||||
..#....#............#.##.##..#.
|
||||
.#..#..#................#...###
|
||||
#..###.#..##..#............#...
|
||||
.......#.#....#.##.#.##........
|
||||
##...###.#....#...........###.#
|
||||
...#.#....#..####.........#....
|
||||
....##........#.#.#.###........
|
||||
#...#..#.....#....##..#.##...#.
|
||||
##....................##..#....
|
||||
.#....##...........##...##...#.
|
||||
.#.#..#.........#.........#.#.#
|
||||
#.#..#.....#.#..#..#..#.#......
|
||||
...#.............#......#....##
|
||||
....#.#.......#....#...#.##...#
|
||||
#.#.#..###..........#...#......
|
||||
......#.....#..#..#.......##..#
|
||||
.#......#......#.....#...#.....
|
||||
......#..#......#.#............
|
||||
..#............#..#....#.#.....
|
||||
.....#..##.......#...##.###.#.#
|
||||
.....#........##....#.#...##..#
|
||||
..........##.#..#.#...#..#....#
|
||||
#.#.#.#.##...................#.
|
||||
.....#....##.....#..#...#..#...
|
||||
...#....#.............#....#.#.
|
||||
.........#.##..##..............
|
||||
#...#.#....#..#...#.......#....
|
||||
.#...#......#.##.#...#.#..###..
|
||||
..#.#.#......#..#...##..##.##..
|
||||
.........#.....#......##....##.
|
||||
...###.......#..#........#.....
|
||||
...#....#...#.#.#......##....#.
|
||||
.#.....#......#...##.##..#.....
|
||||
..#.##...#....####...##........
|
||||
..#.#.###....#..##.......##....
|
||||
.....#....##...#......#.......#
|
||||
.#....#......#..............#..
|
||||
.......#.#......#..#....#.#.#..
|
||||
.......#.#.........###....#....
|
||||
.#...#.......#.#..#..####....#.
|
||||
..#...#.#......#..#.##.###..#..
|
||||
..##.........#............#.#.#
|
||||
#.........##.##.........#.###..
|
||||
...#....#.......#..#..##.......
|
||||
.#....##........##.......#..#..
|
||||
...#.....#.#.##.#.#.....##.....
|
||||
.#.#........#.......#.#..#..#..
|
||||
.....####..##.##.#.#....#......
|
||||
..#.##.#.#.#....###..#....#.#..
|
||||
..##..#.#......##.#..#.........
|
||||
....#..#.#.##.......#...##.....
|
||||
....###.....#..###...#....###.#
|
||||
..#....#.......#......#...##..#
|
||||
..#..##......#....#.###..#..##.
|
||||
..#..#...............#.#.#.....
|
||||
...##...#.#..#.#...#......#....
|
||||
#....#...#.#.#.#.#....#....#...
|
||||
....##...#....#.....##..#.....#
|
||||
......##.....#...##..#.......#.
|
||||
......###......#....#.##..#....
|
||||
.....#........#........#...#..#
|
||||
.#..##.....##....#.#......#.#..
|
||||
#..#.#.....#........#......#.#.
|
||||
.#..#.##.....#####.#....#.#....
|
||||
....##........#..........#.#...
|
||||
.......#.....#.......#...#.#...
|
||||
.#....#...##.###....#.#......#.
|
||||
#...#...........##.#...........
|
||||
#...##.......#..#........#.#..#
|
||||
.....#..##..###....#.#.#....#..
|
||||
..#..#.....#............#.#....
|
||||
............#......#.....#.....
|
||||
.#..#.....##.........#....###.#
|
||||
#.........#....#....#.#..#...#.
|
||||
##.#...##....#..#...#.#...#....
|
||||
....###..##...................#
|
||||
....##...#......#...#.#...#...#
|
||||
#....#....###..........#...#..#
|
||||
.....##.#....###.###....#..###.
|
||||
#.....#...........#...........#
|
||||
##..###.##........#..#.#..#.#..
|
||||
.##...#..#.......#.#....#.....#
|
||||
......##..#..#.......#.#...##..
|
||||
......#..#..#.#...###..#.#....#
|
||||
#.##.#..#......#...##........##
|
||||
.....#..........##.....#...#...
|
||||
........#....##......#......#.#
|
||||
..#..#.#...#.#.#.......#......#
|
||||
.#....#........#............#..
|
||||
......##.....#...#.............
|
||||
#......##..#.......##....##.#..
|
||||
.....#..#..#...#.......#..#....
|
||||
...#..##.#..#.#....##.....#..##
|
||||
......#...#.#...#.#......###.#.
|
||||
.#.#...#.....#..###.....#......
|
||||
#..####.#....#.......##...#....
|
||||
.##.......#.....#.........#....
|
||||
#......##.#...............#....
|
||||
.######.#...##...#...#...#..##.
|
||||
....#...####....##.#..#...##...
|
||||
.#...................#.#..#..#.
|
||||
.#.#....##...#...#.#..#.#.#.#..
|
||||
......#......#........##.#...#.
|
||||
##..#...#..#.............##.#..
|
||||
#.............#..........#.#...
|
||||
...##.....#.............#......
|
||||
......###.....#................
|
||||
#.#.#....#..##.#.....#.........
|
||||
.#.#........#.........#.#.##.#.
|
||||
......#...##...#.#.....#....#..
|
||||
#...#.........##.##.#..........
|
||||
#..............#..#.......##...
|
||||
#...#......#.#......#...#....#.
|
||||
...#...#........#.#......#.###.
|
||||
##.....#...#.#..#..#..#.......#
|
||||
..#.##..##.........#...##.##...
|
||||
#....#....#.....#..........#...
|
||||
#.####..#..###.....#..#..#.....
|
||||
..#.....#.##.##..####....#.#.#.
|
||||
...#.#....#...#.......#..#.....
|
||||
......###...#.#..#..#..........
|
||||
.........#..#.....#.#.##......#
|
||||
.......#.#....##.....##.#..#.#.
|
||||
.#..#.#..#......##.###...##..#.
|
||||
....###...........#.....#....#.
|
||||
.#.##.....#..#.....#......##...
|
||||
#..##....#..........#.##.##..#.
|
||||
.###.#.#..#.#.....#..##....#.#.
|
||||
..##.#....#.....##..#..........
|
||||
##........#...#..#........###.#
|
||||
#...#...........##.......#.#...
|
||||
...###.....##.#....#...#...#...
|
||||
......#....#.#.......###....#..
|
||||
...#...#.......##.......###.#..
|
||||
..............#.#..........##..
|
||||
#.#....###..#..#.........#.....
|
||||
.###.#.......#.....#....#.#....
|
||||
.....###...#.#..#.#.......#....
|
||||
.........#.##.#......#.#..#....
|
||||
.......#....#....#.#....#..##.#
|
||||
...............#...##.#..#.#..#
|
||||
.....##........#..##...........
|
||||
.##.#..#....#..#.#...#.........
|
||||
.#.#..##.#..#......#....#.#...#
|
||||
##....#.......##...........#...
|
||||
..#...#.............#.#....#..#
|
||||
..#......#..#.....#...##.....#.
|
||||
....##...#.#...##...#..##......
|
||||
.....#..#..........#...........
|
||||
..##....#..#.#....#..#........#
|
||||
.###....#.....#.#....#..##.....
|
||||
#.......##.......#..#..#....#.#
|
||||
.##..#...........#..##..##..#..
|
||||
.#.................#...#....#..
|
||||
.######.......#............##..
|
||||
.#.........#......##.#.#.#.#.#.
|
||||
.#.......#...#...#....###....#.
|
||||
....#...##.#.#...#.....#.#..#..
|
||||
.#..#..#...#.....###....#......
|
||||
...#.##.###........#.....##....
|
||||
..#....#.#.#..........#..#..#..
|
||||
......#.....#...#..#..##..#.#..
|
||||
#.#.......##.......#....#.....#
|
||||
..#...#..#.#....#.##.##........
|
||||
..#....#..##..#..##......#.....
|
||||
#....#..##.....#....###........
|
||||
##...#......#..###.#.....#.....
|
||||
#..###....#...#...#...#......##
|
||||
.....###....#......#..#..#...#.
|
||||
.##......#.......##...#........
|
||||
....#.#.....##.....#.....#.....
|
||||
...##.#.....#..##...#...##.#...
|
||||
..#...#.#....#....#...##.......
|
||||
......#....#..#....#.#.........
|
||||
..........#.#.#...##....#......
|
||||
...#....................#..#...
|
||||
...#....###....#..#.....#.....#
|
||||
..#....#....#..#.#..##.#...#...
|
||||
..#.##....##.....#.#........#..
|
||||
#.....###..#.#.#...#..#....#...
|
||||
........#..#.#..#........##....
|
||||
.##....#................##.#.##
|
||||
..##...#.#.#.....##..#....#....
|
||||
....#..#....#..#........#..##..
|
||||
...#...##....#....#..##......#.
|
||||
##........#...#.....#.....#...#
|
||||
.#......#....##...#.........##.
|
||||
##........#...#.....#..#...#.#.
|
||||
...##..#..#.....#..###.#..#....
|
||||
....#..#..............#.......#
|
||||
.......#.##...#......#.###.....
|
||||
#........##..##....#.#.#.......
|
||||
#.#..##.#.......#..##.....###..
|
||||
.....##...#..#.....#...........
|
||||
...#..#..#......#...#.#........
|
||||
.#....#....#.#.....#.....#....#
|
||||
...#..#...#..#.##.#......#.#.#.
|
||||
..##....#..#..#.....#....#....#
|
||||
...#....#.##.#..#.###......#...
|
||||
.......#..#.....#.......#..#...
|
||||
..###.#####..#..##.#.........#.
|
||||
...#.......##...#.#..#.#......#
|
||||
....#...#.###..#..........#....
|
||||
...........#...#..##........#..
|
||||
.......#...#....#....#.#..#....
|
||||
.........#..........#...#....##
|
||||
.##.........##..#.......##.#...
|
||||
........#......###...##...#.#.#
|
||||
#.#...##.##...........#...#.#..
|
||||
.....###...#..##......#..#.....
|
||||
#.#.....#.#....##..........#..#
|
||||
#..#.......#.#.........####....
|
||||
#.#...#.....#........#.....#..#
|
||||
.....#..#.#.###.....#.#.###....
|
||||
.###..#......##..#..#..........
|
||||
#....#.#......#...#.##......#..
|
||||
..#.........##.#.....#.........
|
||||
...#....#.....##.#..#..##.#..#.
|
||||
##.....#.#..#.#....#......#....
|
||||
....###.#.....#.......#..#.#...
|
||||
#.....##.....##...........#....
|
||||
..........#..#......#.##...#...
|
||||
#...#.###....##....#.###..###..
|
||||
##........#.#...#..#.........#.
|
||||
##........##.......#.....###...
|
||||
.##....###........#..##...#...#
|
||||
......#..##....##.....#..#.#...
|
||||
.....#..##..#.......#.......#..
|
||||
......#....#.......##.#........
|
||||
.#.####.#..#......#..#.........
|
||||
.##..#....#...##.#....#....#...
|
||||
..#..#..#####.........#...#....
|
||||
....#.....#.#.#.#...#.#......#.
|
||||
....#...#.#..#.##...#...#......
|
||||
..#...#...#...#...#..#.#.##..#.
|
||||
..#......#.#.#.##.##.##..#.....
|
||||
#..###......#.##...#....#.##.#.
|
||||
.#.#.......##..##....##...##.#.
|
||||
.##......##....##.#.......#...#
|
||||
..#...#...................#....
|
||||
.#...#.......######.....#.#..##
|
||||
......#.##.....#.#.............
|
||||
...........##.#........#..#....
|
||||
#.............#.#.....#....##..
|
||||
#...........#...#..###.....#...
|
||||
....#.......#.#..#..#.#........
|
||||
......#...##.......#..##....#..
|
||||
......#.##.##..#........#.#...#
|
||||
.#..#...##...................#.
|
||||
.#.............#...#.#.#.#...#.
|
||||
.........#.....#........#.#....
|
||||
#..#...#.............##.#.....#
|
||||
...#.#....#...##............#..
|
||||
..#...#.##.###.#.....#......##.
|
||||
...#.#..###...#.#............#.
|
||||
...#....#........#.#...........
|
||||
.#......#.#.#.........#.#....#.
|
||||
....#..#......#.##.....#.#.....
|
||||
..#..###....#....#.........###.
|
||||
#..#.#....##.#....#.##..#......
|
||||
#..#.....#.#.....##..#.##......
|
||||
......#...#.#.............#..#.
|
||||
#.#....#.#..#...#......#.#.....
|
||||
..#.........#.#....#...#.......
|
||||
.#..#.#...#....#...#......#...#
|
||||
.......#........#.#..#..#...#..
|
||||
..##.#......#..##.##.#..#..#...
|
||||
.##...#....##.....#.....#...##.
|
||||
#.....##.#....#.#......##..#...
|
||||
.......#.#..#...#.......#.#...#
|
||||
..#...#.......#...#..##........
|
||||
#....##..#...#..#.#......#..#.#
|
||||
##.#....#....#....#...#..#.##..
|
||||
###........#.#..#..#......#....
|
||||
.#......#.....#....#.#..#...#..
|
||||
.#.....#.....#...##.......#..##
|
||||
#..##.#..#..........#..........
|
||||
...#.##.........#.#.##.#.......
|
||||
.#..#...............#...#.#.#..
|
||||
.....#.#.....#...####..#.....#.
|
||||
.#....#.##..##...#...##.#...#.#
|
||||
....#......##...#.#.#.....#.##.
|
||||
#...#..#.#...#.#.....##...#....
|
||||
..#..#....##..###......#..#....
|
||||
.........#......##.....##....#.
|
||||
.......#....#...#........###...
|
||||
.....#..#..#...#...#......#....
|
||||
..#..#...#.....#.....###..#.###
|
||||
............#.#..#..#....#.....
|
||||
...#..#...###.......#.......#..
|
||||
#.........#........#.....##....
|
||||
.#.#........#.....#........###.
|
||||
....#.##.#...#.#.#.....#....#..
|
||||
.##...#..#.......#.#...........
|
||||
##...#.##...#...........#.....#
|
||||
##....#.#.....##..#.......#....
|
||||
##....#...#....#..#.......####.
|
||||
......#...#..#.....#.#....#...#
|
||||
.......#.....#..###............
|
||||
#.#.#..#.....#.............#..#
|
||||
.#..#.....##.....#...#.......##
|
||||
..#.##........##...........#.#.
|
||||
....##.#..###.#.........#...##.
|
||||
1121
projects/_standalone/aoc/src/year2020/inputs/day4-1.txt
Normal file
1121
projects/_standalone/aoc/src/year2020/inputs/day4-1.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,13 @@
|
||||
ecl:gry pid:860033327 eyr:2020 hcl:#fffffd
|
||||
byr:1937 iyr:2017 cid:147 hgt:183cm
|
||||
|
||||
iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884
|
||||
hcl:#cfa07d byr:1929
|
||||
|
||||
hcl:#ae17e1 iyr:2013
|
||||
eyr:2024
|
||||
ecl:brn pid:760753108 byr:1931
|
||||
hgt:179cm
|
||||
|
||||
hcl:#cfa07d eyr:2025 pid:166559648
|
||||
iyr:2011 ecl:brn hgt:59in
|
||||
932
projects/_standalone/aoc/src/year2020/inputs/day5-1.txt
Normal file
932
projects/_standalone/aoc/src/year2020/inputs/day5-1.txt
Normal file
@@ -0,0 +1,932 @@
|
||||
FFBBFFFLRL
|
||||
FFBBFBBRRL
|
||||
FBBBFFBLRL
|
||||
BBFBFFBLRR
|
||||
BFBBBFFLLL
|
||||
BFBBBBBLLR
|
||||
FBFBFBFLLR
|
||||
BFBFBBFLLR
|
||||
FBBFBFBLLL
|
||||
BBBFBFBRLL
|
||||
BFBBBFBLRL
|
||||
FBBFFFBLLR
|
||||
BFFBFBFLRL
|
||||
FBBBBFBRLR
|
||||
FFBBBBBRRL
|
||||
FBBFBFFLRL
|
||||
FBBBBBBLLR
|
||||
FBBFBBBRRL
|
||||
FBBFFBFRLL
|
||||
FBFBBBBRRR
|
||||
BFFBFBFRRL
|
||||
BFBFBBBLLR
|
||||
FFFFBFBLRL
|
||||
FBFFBFFLRL
|
||||
FFBFBBBRRR
|
||||
FFBFFFFLRR
|
||||
FBBBFFFLLR
|
||||
FFFFFBFLLL
|
||||
BFFFFFFLRL
|
||||
FBBBBBFRLR
|
||||
BBBFFBBRRR
|
||||
FFFFBBBRLL
|
||||
FBFFBBBRLR
|
||||
BFBBBFFRRL
|
||||
BBFBBFBLRL
|
||||
BFBFBFFRRR
|
||||
BBFBFFFLLL
|
||||
FBFBFBFRRR
|
||||
BFBFBFFRRL
|
||||
BBFBBFBRRL
|
||||
FFBBFBFLRL
|
||||
FBFFFFFRLR
|
||||
FBBFFFBLLL
|
||||
FBBBBFFRLL
|
||||
FFBBBBBLLL
|
||||
BFFBBFFRLR
|
||||
FFFBBFBRRR
|
||||
FBBBFFFRLL
|
||||
FFFBFBFLRL
|
||||
BFFBBFFLRL
|
||||
BFBBBBBLRL
|
||||
BFFFFFBRRR
|
||||
FFFBBFBLRL
|
||||
FBBBFBFRLL
|
||||
FBBFBFBLRR
|
||||
BBFBBFFLRR
|
||||
FBFFBBFLLL
|
||||
FFFFFBBRLL
|
||||
FFBBFFBRLR
|
||||
BBFFFFFLLL
|
||||
BFFFFBFLRR
|
||||
FBFBBFFRRL
|
||||
BFBFFBBLLR
|
||||
FBBBFBBRLR
|
||||
BBBFBFFRLL
|
||||
BBFFBBFRLR
|
||||
FFBFFBBRLR
|
||||
FFBBBFBRLR
|
||||
BBBFFFBLRR
|
||||
BBFBFBFLRR
|
||||
BFBBBBBRLR
|
||||
BFFFFFBLLR
|
||||
FBFFBFFRLL
|
||||
BBBFFBBRLR
|
||||
FFBBBFBRRR
|
||||
BFBBBFBRLR
|
||||
FBFFFBBLRL
|
||||
FFFBFFFRLL
|
||||
BBFFBFFLLL
|
||||
BFFBBFFRRR
|
||||
FFBFBFBRRL
|
||||
FFBBBFBRRL
|
||||
FBBFFBBRLR
|
||||
FBFFBBFRLR
|
||||
BFBFFBBRRR
|
||||
BBFBFBBRLR
|
||||
FFBFFFFRRL
|
||||
BBFFBFFLLR
|
||||
FBBFBFBRRR
|
||||
BFBFBBBRRL
|
||||
FBFBFFBRRL
|
||||
FFFBBFFRLL
|
||||
BFBFFFFRRR
|
||||
FBBFFBFLLR
|
||||
FFBFBFFRLL
|
||||
FBFFBFBLLL
|
||||
FBFBFFFLRL
|
||||
BBFFFFFRRR
|
||||
FBFFBBFLRR
|
||||
FBFFFBFLRL
|
||||
FBBBFBBRRL
|
||||
BFFBFFFRLR
|
||||
FFBBBBFLLR
|
||||
BFFFFBFLRL
|
||||
BFFBFFBRRR
|
||||
FFBFBFBLRL
|
||||
BBFFFBBRLL
|
||||
FFBFBBFRRR
|
||||
FFFBFBFRRL
|
||||
FBFFBFBRRR
|
||||
FBBBBFBRRL
|
||||
FBFFFFFLLR
|
||||
FFBFFFFLLR
|
||||
FBBBBFFRLR
|
||||
BBBFFBBLRR
|
||||
BBBFFBFLRR
|
||||
FBBFBBBLRR
|
||||
FBBFBBFRRL
|
||||
FFFBFFBLLL
|
||||
FBFFFFBLLL
|
||||
BBFFFFBLLL
|
||||
FBFFFBFLRR
|
||||
FFBFBFFLRR
|
||||
BBFBFFFRLL
|
||||
FFFBBBFRLR
|
||||
FFBFFBBRLL
|
||||
BBBFBFFRRL
|
||||
BFFBBBBLRR
|
||||
BFFFFFFLLL
|
||||
BBBFFFBLLL
|
||||
FBBBBBFRLL
|
||||
FBBFBBBLLR
|
||||
BBFBFFFRRR
|
||||
BBFFFBBLLL
|
||||
FBBFFBFLRL
|
||||
BBFBFFFLRR
|
||||
BFBFFBFRLL
|
||||
BFFFBFBLLR
|
||||
BBBFBFBLLL
|
||||
BBBFFBFRLR
|
||||
FBFFBFBRLR
|
||||
BFBBFFFLLL
|
||||
BBFFFFBLRR
|
||||
BBFFFBBRRL
|
||||
BBBFBFFLLL
|
||||
BFBFFBFLLL
|
||||
FBBBBFFLLR
|
||||
FFBFFFFRLR
|
||||
FFBBBFBRLL
|
||||
BFFFFFFRRL
|
||||
BFBFFBBLRL
|
||||
BBFBBBFRLL
|
||||
BFFFBFFLLR
|
||||
BBFBFFBRLL
|
||||
BFBBFFFRLL
|
||||
BBFBBFBRLR
|
||||
FFFBBFBRLR
|
||||
BFFFBBFLRL
|
||||
FFBFFBFRLL
|
||||
FFFBFFBLRL
|
||||
BFBBBFFRLR
|
||||
BBBFFBBLRL
|
||||
BFFBBBBRRL
|
||||
FFBBFFFRLL
|
||||
BFBFFBFLRL
|
||||
BFFBBBBRRR
|
||||
BBFBFBFRRL
|
||||
BBBFFBFRRL
|
||||
BFFFBFBLRL
|
||||
FFFBFBFRLR
|
||||
FBFFBBBLRR
|
||||
FFFFBBBLLL
|
||||
BBBFBBFLLR
|
||||
BFFBFBFRRR
|
||||
BFBFFFBRRR
|
||||
BBFBBBBLLR
|
||||
FFBBBBBLRL
|
||||
FFBFFBFLRR
|
||||
FFBBBFBLRR
|
||||
BBFBBFBRRR
|
||||
FFFFFFBRRR
|
||||
BFBFBFBRRL
|
||||
BBFFBBBLRR
|
||||
BBFBFFFRLR
|
||||
FBBFBFBLLR
|
||||
BFBBFFBRLL
|
||||
FFFFBFBLLR
|
||||
BFBFFBBRLR
|
||||
FBFFFBFRRR
|
||||
BFFBFFFRLL
|
||||
FBBBFFFRRR
|
||||
FFFBBBFLLL
|
||||
FBBBBBBRRL
|
||||
FBBFFBBLLR
|
||||
BBBFBFFLRR
|
||||
BFBBFBFLRR
|
||||
FFFBBBBRRR
|
||||
BFFFBBFRLR
|
||||
FBFFBBFLLR
|
||||
FBFFFFFRRL
|
||||
BBBFBBFLLL
|
||||
BBBFFFFRLR
|
||||
FFFFBBBRRR
|
||||
FBBBFBBLLL
|
||||
BFFBFFBLLL
|
||||
FBFBBFBRLR
|
||||
FFBFFBBLLR
|
||||
FFFFBFFLRR
|
||||
FBBFFBFLLL
|
||||
FBFBBFBRRR
|
||||
BBBFBFBLLR
|
||||
BBFFBFBLLL
|
||||
FFBFFBFRLR
|
||||
FBBBFBBLRR
|
||||
BBFBBFBLLL
|
||||
FFBFFBFRRR
|
||||
FBBBBFFLRL
|
||||
BFBBFBFLLR
|
||||
FBFBBBFRLR
|
||||
BFBBFFBLLR
|
||||
FFFBBBFLLR
|
||||
FFFBBBFRRL
|
||||
BFFFBFBRLR
|
||||
BBBFBBFLRR
|
||||
BBFBBFFLLR
|
||||
BBFBBBBRLR
|
||||
FBBFFFFLRR
|
||||
FBFBBFFRLL
|
||||
FFBFFFFRRR
|
||||
FFFBBFFRRL
|
||||
FFFBBFBRRL
|
||||
FFFBFBFLLR
|
||||
FFBBBBFRRR
|
||||
BFFFFBBRRL
|
||||
BFFFFBFRRR
|
||||
BFBBBFBLRR
|
||||
FFBBFFFRRL
|
||||
FBBBBBBRRR
|
||||
BBFBFFBLLR
|
||||
FBFFFFBRLL
|
||||
BFBBFBFLLL
|
||||
FBFFFBBRLL
|
||||
FBBBFFBLLR
|
||||
BBFBBBFRLR
|
||||
FBFBBFBLRR
|
||||
FFFFFBFLLR
|
||||
FBFBBBFLRL
|
||||
FFBFFFBRRR
|
||||
FFFBBFFLRL
|
||||
BBBFFFFLLR
|
||||
BFBFFFFRRL
|
||||
FBFBFBBLLR
|
||||
FBBBFBFRRL
|
||||
BBFBBBBRRL
|
||||
BFBBFBFLRL
|
||||
BFFBBFFLLR
|
||||
BFBFFBBRLL
|
||||
FBFFBFFRLR
|
||||
FBFBFBFLRR
|
||||
BFBFBBFRRR
|
||||
FBBBBFBLRL
|
||||
FFBBBFFRRR
|
||||
FFBBFFBRLL
|
||||
FFBBBBBRLL
|
||||
FBFFFBFRRL
|
||||
FFFBBBFLRL
|
||||
BBBFBFFRRR
|
||||
FFFBFFFRRR
|
||||
FBFFBFFLLL
|
||||
FFBBFFBRRL
|
||||
BFFBFFBRRL
|
||||
FFBBBFFRLR
|
||||
BBBFFFFRRR
|
||||
BBFBFBBRRR
|
||||
FBFBBBBLRR
|
||||
BFBFBFBLLL
|
||||
FFBBFFBLLR
|
||||
BFFFBBBRLR
|
||||
BFBBFBBRLR
|
||||
BFFFFBBLLR
|
||||
FBFBFBBRLR
|
||||
BFFBBBFLLR
|
||||
FBFFBFBLRL
|
||||
BFBFBBBRLL
|
||||
BFBBBFFLRL
|
||||
FFFBFFFLRR
|
||||
BFFBBFBRLL
|
||||
FFBBBBFRLL
|
||||
BBFFFBBLLR
|
||||
FBFBFBFRLR
|
||||
BBBFFFBRLR
|
||||
BFFFFFBRLR
|
||||
BBBFFFFLLL
|
||||
FFFBBFBRLL
|
||||
BFFFFFBRRL
|
||||
FBFFBBBRRL
|
||||
FBFBFBBLLL
|
||||
FBFBBFBRRL
|
||||
FBBFBBBRRR
|
||||
BFBFFBBRRL
|
||||
FBBBBFBLLL
|
||||
FBBBBBBRLR
|
||||
BBFFFBFRRL
|
||||
FFFFBFBLLL
|
||||
FFFFBBFLRR
|
||||
FFFFBFFLRL
|
||||
BFFFBBFRLL
|
||||
BBFFFFBRRR
|
||||
BFBFFFFRLL
|
||||
BFFFFBFLLR
|
||||
BBBFFBBRRL
|
||||
BBFBBFBLLR
|
||||
BFFFFBFRLR
|
||||
FBBBFBFLLR
|
||||
FFFFFBBLRR
|
||||
BFBFFFFLRR
|
||||
FBFBBFFLRL
|
||||
FBFFFBBRRR
|
||||
BBFBBBFLRL
|
||||
BFBBBFFLLR
|
||||
BFBFBBFRRL
|
||||
FBFFFFBLRL
|
||||
FBBFBFFRLR
|
||||
BFBFBBBLRR
|
||||
BFBFBBFLRL
|
||||
BBFFBFFRLL
|
||||
FBFFBBBLRL
|
||||
BFBFBFFLLR
|
||||
FFFBFFBLLR
|
||||
FFFBFBBRRR
|
||||
BBFBFFFLLR
|
||||
FBBBFBFRLR
|
||||
FBFFBBBLLL
|
||||
FFBFBBFLRR
|
||||
FBFBFFFLLL
|
||||
BBFFFFFLRL
|
||||
FBFBBFBLRL
|
||||
BBFFFBFLLR
|
||||
BBFBBBBRRR
|
||||
BFBBBFFRRR
|
||||
FFFBFFBRLL
|
||||
FBBBFFFRLR
|
||||
BBBFBFBLRL
|
||||
FBFFFFBRLR
|
||||
BFFFFFBLLL
|
||||
FBFFFFBLLR
|
||||
BFBBFFBLRR
|
||||
BFBFBBBRRR
|
||||
BBBFBFBRRR
|
||||
FFFBBFFRRR
|
||||
FBBBFFFLRR
|
||||
BBFBFFFRRL
|
||||
BFBFBBFRLR
|
||||
BFFFBFBRLL
|
||||
FBFFFFFLLL
|
||||
FFFBBBBLRL
|
||||
FFFBBFFLLL
|
||||
FBFFFFBRRR
|
||||
FFBFBFBRLR
|
||||
BFBFFFBLRR
|
||||
BFFFBFBLLL
|
||||
FBBFBFFRLL
|
||||
FBFBFFFRLL
|
||||
FBBBFFBRRR
|
||||
FBBBFFBRLL
|
||||
FFBBFBBLLL
|
||||
FBBBBFBRRR
|
||||
BFBBBFBLLR
|
||||
FBBBBBFLLR
|
||||
FFBBFBFLRR
|
||||
BFFBBFBLLR
|
||||
FBFFFFBLRR
|
||||
BFFBFFFRRR
|
||||
BFFFBBBRLL
|
||||
FBFBBBFRLL
|
||||
BFBBBFBRRL
|
||||
FFBFFFBRRL
|
||||
FBBFFFFRLR
|
||||
BFBFBFFLLL
|
||||
FFBFBFBLLL
|
||||
FBFBBFBRLL
|
||||
FBFBFFBRLR
|
||||
BFFFFFBLRR
|
||||
FBBBFFBRLR
|
||||
BFBBFBBLLL
|
||||
BBFFBFBRRR
|
||||
FFFBFBBRRL
|
||||
FFBBBFFRLL
|
||||
BFFFFFFRLL
|
||||
BFBFFFBRLL
|
||||
FFFFFBFRLL
|
||||
BBBFFFBRRL
|
||||
FFBBBBFRRL
|
||||
BFFFBBBLRL
|
||||
FFFFFBBLLR
|
||||
BFFFFBBLRR
|
||||
BFBFFFBLLL
|
||||
FFFFFBBRLR
|
||||
BBFBFBFLLL
|
||||
FBFBBBBRLR
|
||||
FBBFBFBRRL
|
||||
FFBFBFBRRR
|
||||
FBBBBBFLRL
|
||||
BBFBFFBLLL
|
||||
BBFFFFBRLL
|
||||
BBBFBFBRLR
|
||||
BBFBFBBLLL
|
||||
BFBBBBBLRR
|
||||
BBFFFBFRRR
|
||||
FFFBFBFRLL
|
||||
BFFBBFBLLL
|
||||
FBFFBBBRRR
|
||||
FFFBFBFLLL
|
||||
BBFFBBFLRL
|
||||
BBFFFFBRLR
|
||||
BFBFBBBRLR
|
||||
BBBFBFFLLR
|
||||
FFBBBBFRLR
|
||||
BBFFBFFRRL
|
||||
BBFBFFBRRR
|
||||
BFBFFBFLLR
|
||||
FBFFBBFRLL
|
||||
BBFFFFBLLR
|
||||
FBFBFFFRLR
|
||||
FFBFBFBLLR
|
||||
BFBBFFBRRL
|
||||
FBBFFBBRRL
|
||||
BBFFBFBRLR
|
||||
FFFFBFBLRR
|
||||
FFFFBBBLRR
|
||||
FFBFBFFLLL
|
||||
FFBBBFFRRL
|
||||
BBFFFBFRLL
|
||||
FBFBBBFLRR
|
||||
FBBFBFFRRR
|
||||
FBBFBFFLLR
|
||||
BFFBBBFLRR
|
||||
FBBFBBFRLR
|
||||
BFFBBBFLLL
|
||||
BBFBBFBRLL
|
||||
BBBFFBBLLR
|
||||
BBBFBFBRRL
|
||||
FBFBBBFRRL
|
||||
FBBFFFBRLR
|
||||
BFBBFBBLRL
|
||||
FFBBFFFRRR
|
||||
BFBFFFFRLR
|
||||
BBFFFFFLLR
|
||||
BBFBFFBRLR
|
||||
BBFBFBFLRL
|
||||
FBFFFFFLRL
|
||||
FFBBBFFLRL
|
||||
FBFBFBBLRR
|
||||
FFBFBBBRLL
|
||||
FFBFBFFRLR
|
||||
FBBBFBFLRR
|
||||
FBFFBFFLRR
|
||||
BBFFBFBRRL
|
||||
FBBFFFFLRL
|
||||
FFFFBBFLRL
|
||||
FFBBFFBLRR
|
||||
BFBFFFBLLR
|
||||
BFBFBBFLRR
|
||||
BFBFBFBLLR
|
||||
BFBBFBFRLL
|
||||
BFBBFFBRLR
|
||||
FBFFFBBLLL
|
||||
FFFBBBBRRL
|
||||
FBBFBFFLLL
|
||||
FBFFBFBRLL
|
||||
BFFBFFFRRL
|
||||
FBFBFFBLLR
|
||||
BBFFBBFLLL
|
||||
FFBBBFBLLR
|
||||
BFBBFFFLLR
|
||||
FBBBFBFRRR
|
||||
FBBBFFBRRL
|
||||
FFFFBBFRRR
|
||||
FFBFFFFLRL
|
||||
FBBFBBFLRR
|
||||
FFBBBFBLLL
|
||||
FBFFFBFRLR
|
||||
FFBFFBBRRL
|
||||
FFFFBBFRRL
|
||||
BBBFFFFLRL
|
||||
FBBFFFBLRL
|
||||
FFBFBFBLRR
|
||||
FFFFBFFRRR
|
||||
FFFBFBFRRR
|
||||
BBFBBBBLLL
|
||||
FFBBFFBRRR
|
||||
FBBFFBBLRR
|
||||
FBBFBBFLLL
|
||||
BBFBBBFRRL
|
||||
FFFBBBBLLR
|
||||
FFBFFBBLRR
|
||||
BBFBBFFRLL
|
||||
BFBBBBFRLL
|
||||
BBFBFFBRRL
|
||||
BFFFBBFRRL
|
||||
FBBBBBBLLL
|
||||
FFBBFFBLLL
|
||||
FFBBFBBLRR
|
||||
BFBFBFBLRR
|
||||
FBBBFBBLLR
|
||||
BBFBFBFRLL
|
||||
FBBFBFFLRR
|
||||
FBBBFBFLLL
|
||||
FFBBFFFLRR
|
||||
BFFBBBFRLL
|
||||
FBBBBFBLLR
|
||||
BFBFFFFLRL
|
||||
FFBFBBBLLL
|
||||
FFBFFFBLRR
|
||||
BFBFBFBRLL
|
||||
FBFBFBFRLL
|
||||
BFBBBBBLLL
|
||||
FFBFBFBRLL
|
||||
BFBFFFFLLR
|
||||
BFFBBBBLLL
|
||||
FFBBFBBRLL
|
||||
FFFFBFBRLR
|
||||
FBFBBFFLLR
|
||||
BFBFBBFRLL
|
||||
FFBFFFFLLL
|
||||
FBBFFBFLRR
|
||||
FFBFFFBRLL
|
||||
FFFFBBBLLR
|
||||
BFBBBBBRLL
|
||||
FBBFBBBLRL
|
||||
FBFFBBBRLL
|
||||
FBFFFBBLLR
|
||||
FFBBBFBLRL
|
||||
FFFFBFFRLL
|
||||
BBFFFBBLRL
|
||||
BFFFBFFRRL
|
||||
BFFBFBFLLL
|
||||
BBFFFBFLLL
|
||||
FFFFFBFLRL
|
||||
FBBFFFFRRR
|
||||
FBBBBBFLRR
|
||||
FFBFFFBRLR
|
||||
FBBBFFFLLL
|
||||
FFBFBBBLRL
|
||||
FFBFFFBLLL
|
||||
FBFFBBBLLR
|
||||
BBBFBFFRLR
|
||||
FFFBFFFRLR
|
||||
BBFBBBFLLR
|
||||
FFBBFFFRLR
|
||||
FFFFFBFRLR
|
||||
FBBFFFBRRL
|
||||
BFFBBBBRLR
|
||||
BFFBFFBRLL
|
||||
BFBBBFBRLL
|
||||
FBFFBBFRRR
|
||||
FBFBBFFLLL
|
||||
BBFBFBBLRL
|
||||
BBBFBBFLRL
|
||||
FBFBFFBLRR
|
||||
FBFFFFFRLL
|
||||
BFBBFBFRRR
|
||||
BFBFBBBLLL
|
||||
FFBBBFFLRR
|
||||
BFBBFBBLLR
|
||||
FBBBBFFRRR
|
||||
BFFFBFFLRL
|
||||
FFFFBFBRLL
|
||||
BFFFFBBLLL
|
||||
BFFBFBBLLL
|
||||
BFFBFBBRRL
|
||||
BBBFFFBLRL
|
||||
BBBFFFBRRR
|
||||
BFFFBBFLRR
|
||||
FFBBFBFRLL
|
||||
BFFBBFBRLR
|
||||
FFBFFBFLLR
|
||||
FBFBBBBLRL
|
||||
BFFBBFFRRL
|
||||
BBFFFBBRRR
|
||||
FBBBFBBRRR
|
||||
BFFFFBFRRL
|
||||
FFBFBBBRRL
|
||||
BFFFBBBRRR
|
||||
BFBBBFBRRR
|
||||
BFBFBFFRLR
|
||||
FFFFFBBRRR
|
||||
FBFBFBFLRL
|
||||
FFBBBBBLRR
|
||||
BBFFFFBLRL
|
||||
FFFBFFFLLR
|
||||
FFFBFFFRRL
|
||||
FBBBFBBLRL
|
||||
BBFFBBFLLR
|
||||
BBFFBFFLRR
|
||||
BFFFFFFRLR
|
||||
FBBFBBFRLL
|
||||
BFBBBBFRRR
|
||||
FBFBBBBLLR
|
||||
FFFBBFFRLR
|
||||
FBBFBBBRLR
|
||||
FBBFBFBRLR
|
||||
FBBBFFFLRL
|
||||
FFBBFBBRLR
|
||||
BFFFBBBLLL
|
||||
BBFBBFFRRR
|
||||
FBFBFFFLRR
|
||||
BBFFBBFRRR
|
||||
FBBFBFFRRL
|
||||
BFFFFBFLLL
|
||||
BBBFFBBLLL
|
||||
BFBBBBFRRL
|
||||
FBBFFFBRRR
|
||||
BFBBBBFLLL
|
||||
FFFBFFBRRL
|
||||
BFFBFFBLLR
|
||||
FFBBFBFRRL
|
||||
FBFFFBBRLR
|
||||
BFFFBBBLRR
|
||||
FFBFBFFRRR
|
||||
FBFBFFBRLL
|
||||
BFBBBBFLRL
|
||||
BFBBFFFRRR
|
||||
FBFBFBFRRL
|
||||
BBFBBFFLRL
|
||||
FBBFFFFLLL
|
||||
BBBFFBBRLL
|
||||
FBFFFBBRRL
|
||||
FFBFBFFLRL
|
||||
FBFFBBFLRL
|
||||
BFFBFBFLRR
|
||||
BFFFFBBLRL
|
||||
BBFBBBBLRL
|
||||
FFBFBBFRLL
|
||||
FBFFFBFLLL
|
||||
BFFBFFBLRL
|
||||
FBBFFFBLRR
|
||||
FFFFBFFRRL
|
||||
FBBFFBFRLR
|
||||
BFFFBFFRRR
|
||||
FFFFBFBRRL
|
||||
BBFFBFBLRL
|
||||
FBBFBFBRLL
|
||||
BFBBFFFLRL
|
||||
FFFBBBFRRR
|
||||
BFFFFFFLLR
|
||||
FBFBBFFRRR
|
||||
BFFFFFBRLL
|
||||
FFFFBBBRRL
|
||||
BFFBFBFLLR
|
||||
FFFFBFFRLR
|
||||
BFFBBBFRRL
|
||||
BFBBFBBRLL
|
||||
FFFFFBFRRL
|
||||
FFBBBBFLRL
|
||||
FFBBFBFLLR
|
||||
BBFFBBBRLL
|
||||
BFFBFFFLLR
|
||||
BBFBBBBRLL
|
||||
BFFBFBBRLR
|
||||
FFBFBFFRRL
|
||||
FBBFBBFLRL
|
||||
FFBFFBBLRL
|
||||
BFBFFFBRLR
|
||||
BFFBFFFLRR
|
||||
BFFBBBBLRL
|
||||
FFFBFBBRLR
|
||||
FBBBBBFRRR
|
||||
BFBFBFFLRL
|
||||
BFBFFFBLRL
|
||||
FBBBFBBRLL
|
||||
FBFBFBFLLL
|
||||
FBBFFBFRRR
|
||||
FFFBFBBLRR
|
||||
FFFBFFFLRL
|
||||
BFBFBFBRRR
|
||||
BFFBBFFLLL
|
||||
BFFBFBBRRR
|
||||
FFBFFBFRRL
|
||||
FBFFFBFRLL
|
||||
FFBFBBFLLL
|
||||
FFBBFFBLRL
|
||||
FBFBBBBRRL
|
||||
BFFBBFBRRL
|
||||
FBFBFBBLRL
|
||||
BBFBFBFRLR
|
||||
FBFFFFFLRR
|
||||
BBBFFBFRLL
|
||||
BFBFBFFRLL
|
||||
FBBFFBBLRL
|
||||
FBFBFBBRRL
|
||||
FFBBBBBRLR
|
||||
FBBFBBFLLR
|
||||
FFFBFBBRLL
|
||||
BBFFFFBRRL
|
||||
BFBFBFBLRL
|
||||
FBFBBFBLLR
|
||||
BBBFBFBLRR
|
||||
FFFFBBFRLL
|
||||
FFBBBBBRRR
|
||||
BFBBFFBRRR
|
||||
BFFFBBBLLR
|
||||
FBBBBBBRLL
|
||||
FFBFBBFRLR
|
||||
BBFFBBFRLL
|
||||
BFFBFFFLRL
|
||||
FFBBFFFLLL
|
||||
BFFBFBBLRL
|
||||
BBBFFFFRLL
|
||||
BBFBBBFRRR
|
||||
FBFFBFFRRR
|
||||
FBBFFFFRLL
|
||||
BFFFBBBRRL
|
||||
FBFBBBFLLL
|
||||
FFFFBBFLLR
|
||||
FBBFBBFRRR
|
||||
BBFFBBBRLR
|
||||
BBFBBFBLRR
|
||||
BFFFBFFLLL
|
||||
BBFBFBFRRR
|
||||
FFBFFFBLRL
|
||||
BBFFFBBRLR
|
||||
FBFBFBBRRR
|
||||
BFBBFFBLRL
|
||||
BFFFFBFRLL
|
||||
BBFBFBBRLL
|
||||
BFFFFBBRLL
|
||||
FFFFBFFLLR
|
||||
FFBBBBFLRR
|
||||
FBFBFFFRRR
|
||||
FFFBBFBLLR
|
||||
FFBBFBFRRR
|
||||
BFBBFBBRRR
|
||||
FFBFBBBLLR
|
||||
FFBFFBFLLL
|
||||
FFFFBBBLRL
|
||||
FFBFBFFLLR
|
||||
BFBBBFFLRR
|
||||
FBBFFFFLLR
|
||||
FBFFFFBRRL
|
||||
BFFBBFFLRR
|
||||
FFBBFBBRRR
|
||||
FFFFBFBRRR
|
||||
BFBBBBFLLR
|
||||
FBBFFBBRRR
|
||||
BBFBFBBLRR
|
||||
FFFBBBBLRR
|
||||
FBFFFBBLRR
|
||||
BFFBFBFRLR
|
||||
BFBFFBFRLR
|
||||
BFBBFFFRLR
|
||||
FFBBFFFLLR
|
||||
FFFFFBFLRR
|
||||
BFFBBFBLRR
|
||||
FFFFBBFRLR
|
||||
BFFFBBFLLR
|
||||
FBFBFFBRRR
|
||||
BBFBFBBRRL
|
||||
FBFBBFFLRR
|
||||
BFBFFBFLRR
|
||||
BBFFFBBLRR
|
||||
FBFFBBFRRL
|
||||
FBBBBBBLRL
|
||||
FBBFFBBLLL
|
||||
BFBFBBBLRL
|
||||
BBBFFFBLLR
|
||||
BFFFBFFLRR
|
||||
BBFFBBFRRL
|
||||
BFBFBBFLLL
|
||||
FFBBBFFLLR
|
||||
BFBBFBFRRL
|
||||
FBFFBFFRRL
|
||||
BFFFBFBLRR
|
||||
BFBBFBBRRL
|
||||
BBFBFFBLRL
|
||||
BFFBBBFRRR
|
||||
FBFBBFBLLL
|
||||
BBFFBFFRRR
|
||||
BBFFBFBRLL
|
||||
BBBFFBFLLR
|
||||
FFFBBFBLLL
|
||||
FBBBFFFRRL
|
||||
BFFBFFBLRR
|
||||
BBFBFBBLLR
|
||||
FFBBFBFRLR
|
||||
BBFFFFFRLR
|
||||
FBFFBFBLRR
|
||||
BFFFFFFRRR
|
||||
FFBBFBFLLL
|
||||
BFBBFBBLRR
|
||||
BBFFFBFRLR
|
||||
BBBFFBFRRR
|
||||
FFFFBBFLLL
|
||||
BBFFBFBLRR
|
||||
BFFBFBBRLL
|
||||
FBFFFBFLLR
|
||||
BFFFBBFRRR
|
||||
FFBFBBFRRL
|
||||
BFBFFBBLRR
|
||||
FBBFFBFRRL
|
||||
FFBBBBBLLR
|
||||
BFBFFBBLLL
|
||||
BFBBBBFLRR
|
||||
FFFFBBBRLR
|
||||
BFFBBBBLLR
|
||||
BFFFFFFLRR
|
||||
BFFFFBBRLR
|
||||
FFFBBBBRLL
|
||||
BFBBFFFLRR
|
||||
BFFBBBFRLR
|
||||
BFFBBFFRLL
|
||||
FBFBBBBLLL
|
||||
BFBFBFBRLR
|
||||
BBFBBFFLLL
|
||||
BBFBBBBLRR
|
||||
FFBBFBBLLR
|
||||
FBBFFFBRLL
|
||||
FBBBBFFRRL
|
||||
FFFBBFBLRR
|
||||
FFFBFBBLLR
|
||||
FFFFFBBRRL
|
||||
FBFBBBFRRR
|
||||
BBFFFBFLRL
|
||||
FBFBFFBLLL
|
||||
FBFBFFFRRL
|
||||
BFBFFFBRRL
|
||||
BBFFBFFRLR
|
||||
BBFFBFBLLR
|
||||
FFFBFBFLRR
|
||||
BBFBBBFLLL
|
||||
BFBBBFFRLL
|
||||
BFFFBFBRRL
|
||||
FFFFBFFLLL
|
||||
FBBBBBFRRL
|
||||
FBFBFFBLRL
|
||||
FBBBBBBLRR
|
||||
FFFBBBBRLR
|
||||
BFFBFBBLLR
|
||||
BBFFBBFLRR
|
||||
BFFFFFBLRL
|
||||
FFBBBBFLLL
|
||||
BFFBFBBLRR
|
||||
FFFBBBFLRR
|
||||
FFBFBBFLRL
|
||||
FBBFBFBLRL
|
||||
BBBFFFFRRL
|
||||
BBFBFBFLLR
|
||||
BFBBBFBLLL
|
||||
FFBFBBBLRR
|
||||
BFFBFFBRLR
|
||||
FFFBBBBLLL
|
||||
BFFFBFFRLR
|
||||
BFFFBBFLLL
|
||||
FBBBBFBLRR
|
||||
FBBFBBBRLL
|
||||
BFBFFBFRRL
|
||||
BFFFFBBRRR
|
||||
BBFFBBBLRL
|
||||
FBBBBFBRLL
|
||||
BFBBFFFRRL
|
||||
BBBFFBFLLL
|
||||
BFBFFBFRRR
|
||||
FFBFFBBRRR
|
||||
FFBFBBBRLR
|
||||
FBBBBFFLRR
|
||||
BFBFBFFLRR
|
||||
BFBBBBFRLR
|
||||
FFFFFBFRRR
|
||||
BFFBBFBRRR
|
||||
BFBBBBBRRL
|
||||
BFFBBFBLRL
|
||||
FFFBFBBLRL
|
||||
FFFBFBBLLL
|
||||
FFBBFBBLRL
|
||||
BBBFFFFLRR
|
||||
FFFFFBBLRL
|
||||
FBFFBFBLLR
|
||||
FBFBBBBRLL
|
||||
BFFBFBFRLL
|
||||
BFFFBFFRLL
|
||||
BFFFBFBRRR
|
||||
BBBFBFFLRL
|
||||
BFFBFFFLLL
|
||||
BBFFFFFRRL
|
||||
FBFBFFFLLR
|
||||
FFBFFBBLLL
|
||||
BBFFBFFLRL
|
||||
BBFFBBBLLL
|
||||
FFFFFBBLLL
|
||||
BFBBFFBLLL
|
||||
FFFBFFBRLR
|
||||
FBBFFBBRLL
|
||||
FBFBFBBRLL
|
||||
BFFBBBFLRL
|
||||
FFFBFFBLRR
|
||||
FBFBBFFRLR
|
||||
FFFBBFFLLR
|
||||
FBFBBBFLLR
|
||||
FBBFFFFRRL
|
||||
BBFBBBFLRR
|
||||
BFBBFBFRLR
|
||||
FFBFFFBLLR
|
||||
FFBFFBFLRL
|
||||
BBFFBBBRRR
|
||||
BBFFFFFLRR
|
||||
FBFFBFBRRL
|
||||
FBFFBFFLLR
|
||||
FBBBFFBLLL
|
||||
FBBBFFBLRR
|
||||
BFBBBBBRRR
|
||||
BBBFFFBRLL
|
||||
FBFFFFFRRR
|
||||
BBFBBFFRLR
|
||||
BBFFBBBLLR
|
||||
BBBFFBFLRL
|
||||
BBFFFBFLRR
|
||||
FFFBFFFLLL
|
||||
FFBFBBFLLR
|
||||
BBFFFFFRLL
|
||||
BBFBBFFRRL
|
||||
FBBFBBBLLL
|
||||
FFFBFFBRRR
|
||||
FBBBBFFLLL
|
||||
FFFBBFFLRR
|
||||
BBFFBBBRRL
|
||||
FFBBBFFLLL
|
||||
FBBBFBFLRL
|
||||
BBFBFFFLRL
|
||||
FFBFFFFRLL
|
||||
FFFBBBFRLL
|
||||
FBBBBBFLLL
|
||||
BFBFFFFLLL
|
||||
2179
projects/_standalone/aoc/src/year2020/inputs/day6-1.txt
Normal file
2179
projects/_standalone/aoc/src/year2020/inputs/day6-1.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
||||
abc
|
||||
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
ab
|
||||
ac
|
||||
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
b
|
||||
594
projects/_standalone/aoc/src/year2020/inputs/day7.txt
Normal file
594
projects/_standalone/aoc/src/year2020/inputs/day7.txt
Normal file
@@ -0,0 +1,594 @@
|
||||
posh crimson bags contain 2 mirrored tan bags, 1 faded red bag, 1 striped gray bag.
|
||||
bright gray bags contain 1 striped white bag, 4 vibrant cyan bags, 4 clear white bags, 4 muted gold bags.
|
||||
pale plum bags contain 1 dark silver bag.
|
||||
light tomato bags contain 5 plaid brown bags, 5 bright maroon bags, 5 shiny beige bags.
|
||||
wavy brown bags contain 2 faded lavender bags, 2 wavy coral bags, 5 clear gold bags.
|
||||
dark chartreuse bags contain 4 striped lavender bags, 2 shiny silver bags, 5 wavy plum bags.
|
||||
dotted chartreuse bags contain 3 shiny teal bags, 4 posh maroon bags.
|
||||
muted purple bags contain 2 pale lavender bags, 5 drab red bags, 3 wavy fuchsia bags.
|
||||
shiny gray bags contain 5 pale red bags, 1 light chartreuse bag, 5 bright blue bags, 3 light gold bags.
|
||||
dull cyan bags contain 2 light green bags, 2 vibrant fuchsia bags.
|
||||
dotted gray bags contain 4 light bronze bags, 5 dim blue bags.
|
||||
muted plum bags contain 3 shiny brown bags, 4 shiny teal bags.
|
||||
bright magenta bags contain 1 plaid yellow bag, 1 dull white bag.
|
||||
dotted lime bags contain 4 shiny gray bags, 2 bright teal bags, 5 dim fuchsia bags, 1 vibrant chartreuse bag.
|
||||
mirrored beige bags contain 2 plaid crimson bags, 3 wavy tomato bags.
|
||||
pale purple bags contain 2 faded chartreuse bags, 2 dark lime bags, 4 drab white bags, 4 shiny olive bags.
|
||||
dull bronze bags contain 3 bright lavender bags.
|
||||
striped bronze bags contain 1 dark olive bag, 5 dotted orange bags.
|
||||
vibrant orange bags contain 1 plaid plum bag, 1 faded lime bag, 1 clear lavender bag, 1 muted brown bag.
|
||||
dull blue bags contain 5 dotted tan bags, 2 light crimson bags.
|
||||
mirrored red bags contain 1 shiny crimson bag.
|
||||
vibrant coral bags contain 1 vibrant gray bag.
|
||||
plaid tan bags contain 4 clear magenta bags, 5 posh brown bags, 5 drab lime bags.
|
||||
dark yellow bags contain 2 striped bronze bags, 3 shiny tomato bags.
|
||||
mirrored lime bags contain 3 bright orange bags.
|
||||
mirrored salmon bags contain 3 dark white bags, 5 clear salmon bags.
|
||||
light crimson bags contain 1 plaid cyan bag, 2 pale silver bags, 5 pale violet bags, 1 shiny crimson bag.
|
||||
clear white bags contain 2 muted blue bags, 5 dotted olive bags.
|
||||
muted magenta bags contain 4 dark purple bags.
|
||||
clear red bags contain 4 dark gray bags, 3 striped beige bags.
|
||||
plaid gray bags contain 3 faded olive bags.
|
||||
posh teal bags contain 3 pale gray bags, 3 dim beige bags, 2 dark gray bags, 1 shiny coral bag.
|
||||
pale violet bags contain 5 pale silver bags, 2 shiny crimson bags, 5 dull olive bags, 2 drab magenta bags.
|
||||
shiny purple bags contain 5 shiny indigo bags, 3 dotted green bags, 2 wavy blue bags, 3 light salmon bags.
|
||||
mirrored gold bags contain 2 muted coral bags, 4 shiny lavender bags.
|
||||
drab brown bags contain 1 posh lime bag.
|
||||
dull salmon bags contain 5 dotted lavender bags, 3 plaid gray bags, 5 dim coral bags.
|
||||
striped coral bags contain 5 muted brown bags, 3 muted plum bags, 2 dim aqua bags.
|
||||
dark violet bags contain 5 drab chartreuse bags.
|
||||
dark lavender bags contain 3 posh lime bags.
|
||||
plaid fuchsia bags contain no other bags.
|
||||
faded yellow bags contain 3 posh lime bags, 4 wavy blue bags, 3 faded crimson bags, 2 shiny lavender bags.
|
||||
faded crimson bags contain 2 dim yellow bags, 5 drab chartreuse bags.
|
||||
dull red bags contain 3 dark silver bags, 5 faded plum bags.
|
||||
dull lime bags contain 1 dim black bag.
|
||||
vibrant tomato bags contain 3 dull gray bags.
|
||||
light tan bags contain 3 dim brown bags, 5 striped lavender bags, 2 dull indigo bags.
|
||||
pale turquoise bags contain 4 posh plum bags, 5 striped chartreuse bags, 5 dim magenta bags.
|
||||
dim gray bags contain 2 mirrored indigo bags, 3 dim white bags.
|
||||
bright salmon bags contain 5 bright lavender bags.
|
||||
faded coral bags contain 5 striped blue bags, 3 dark plum bags, 3 mirrored blue bags.
|
||||
mirrored bronze bags contain 3 dark gold bags, 1 faded teal bag.
|
||||
bright aqua bags contain 2 vibrant olive bags.
|
||||
wavy purple bags contain 3 wavy teal bags, 5 dim olive bags, 3 muted blue bags.
|
||||
bright crimson bags contain 5 drab blue bags.
|
||||
bright white bags contain 2 light cyan bags, 1 posh silver bag.
|
||||
striped turquoise bags contain 5 mirrored gray bags.
|
||||
drab magenta bags contain 4 vibrant green bags, 3 mirrored black bags, 4 muted white bags.
|
||||
clear teal bags contain 1 wavy bronze bag, 5 dark turquoise bags, 2 drab teal bags.
|
||||
dull aqua bags contain 4 dim fuchsia bags, 3 drab green bags, 3 muted tomato bags.
|
||||
posh coral bags contain 4 wavy bronze bags, 4 mirrored blue bags, 2 pale white bags, 3 shiny brown bags.
|
||||
faded olive bags contain 1 muted brown bag.
|
||||
muted white bags contain 1 vibrant green bag.
|
||||
plaid violet bags contain 5 drab magenta bags.
|
||||
clear cyan bags contain 1 clear gray bag, 1 mirrored gold bag, 4 mirrored white bags, 5 clear brown bags.
|
||||
dull coral bags contain 3 bright blue bags, 1 light plum bag, 4 dotted violet bags, 1 dim teal bag.
|
||||
plaid blue bags contain 3 dark plum bags, 1 wavy aqua bag, 1 plaid turquoise bag.
|
||||
posh indigo bags contain 4 dim black bags, 5 posh orange bags.
|
||||
drab plum bags contain 1 bright tan bag, 3 faded bronze bags, 5 plaid bronze bags.
|
||||
mirrored aqua bags contain 2 striped coral bags.
|
||||
posh salmon bags contain 1 mirrored tomato bag, 2 shiny red bags.
|
||||
pale yellow bags contain 5 striped fuchsia bags, 3 muted gray bags, 3 plaid green bags.
|
||||
faded purple bags contain 5 mirrored tan bags, 2 faded lime bags.
|
||||
faded blue bags contain 4 bright green bags, 5 dark crimson bags.
|
||||
dark beige bags contain 3 pale magenta bags, 4 vibrant lavender bags, 4 posh aqua bags, 3 striped fuchsia bags.
|
||||
bright cyan bags contain 3 pale violet bags, 5 pale coral bags, 4 shiny black bags, 1 dark blue bag.
|
||||
wavy green bags contain 1 dotted purple bag, 4 muted gold bags.
|
||||
pale orange bags contain 1 drab tomato bag, 3 muted purple bags, 3 muted coral bags.
|
||||
vibrant violet bags contain 1 wavy olive bag, 2 plaid chartreuse bags, 5 light cyan bags.
|
||||
vibrant plum bags contain 5 light olive bags.
|
||||
shiny silver bags contain 1 faded coral bag, 2 dotted olive bags, 4 mirrored red bags, 3 clear fuchsia bags.
|
||||
bright blue bags contain 3 striped gray bags, 2 dotted indigo bags, 5 clear magenta bags, 3 dotted green bags.
|
||||
dotted red bags contain 3 mirrored white bags.
|
||||
light lime bags contain 5 bright purple bags.
|
||||
bright purple bags contain 2 bright lavender bags, 1 clear turquoise bag, 3 pale magenta bags.
|
||||
faded tomato bags contain 2 shiny turquoise bags, 5 dim crimson bags.
|
||||
light brown bags contain 3 pale violet bags, 2 striped blue bags, 1 wavy lavender bag.
|
||||
posh silver bags contain 2 bright silver bags, 5 dim olive bags.
|
||||
shiny chartreuse bags contain 4 striped black bags.
|
||||
dull violet bags contain 1 striped white bag.
|
||||
posh chartreuse bags contain 5 wavy crimson bags, 1 vibrant orange bag, 2 mirrored tan bags, 5 shiny brown bags.
|
||||
plaid green bags contain 2 light aqua bags, 5 dull fuchsia bags.
|
||||
pale bronze bags contain 5 dull white bags.
|
||||
muted violet bags contain 3 pale red bags, 5 dull red bags, 5 light cyan bags.
|
||||
wavy aqua bags contain no other bags.
|
||||
posh plum bags contain 3 faded green bags.
|
||||
wavy lavender bags contain 1 light gold bag, 2 faded teal bags, 1 shiny tomato bag, 1 pale white bag.
|
||||
dull silver bags contain 5 mirrored indigo bags, 1 dim red bag, 2 shiny coral bags, 2 drab tan bags.
|
||||
light teal bags contain 4 bright lavender bags, 4 bright yellow bags, 5 wavy crimson bags.
|
||||
shiny maroon bags contain 2 clear magenta bags, 3 striped blue bags.
|
||||
mirrored turquoise bags contain 2 dark violet bags, 5 dark aqua bags.
|
||||
light orange bags contain 2 plaid lime bags.
|
||||
dotted lavender bags contain 1 striped olive bag.
|
||||
posh magenta bags contain 1 plaid teal bag, 1 muted salmon bag.
|
||||
drab tan bags contain 4 dull tan bags, 5 faded teal bags.
|
||||
wavy olive bags contain 5 plaid aqua bags, 3 dull turquoise bags, 5 faded aqua bags, 2 plaid maroon bags.
|
||||
muted beige bags contain 2 mirrored tomato bags, 4 dotted salmon bags.
|
||||
muted chartreuse bags contain 1 plaid white bag, 1 dull beige bag, 5 vibrant maroon bags, 3 drab gray bags.
|
||||
striped teal bags contain 4 wavy yellow bags, 1 dull lime bag, 1 pale green bag, 4 drab chartreuse bags.
|
||||
pale green bags contain 1 dim violet bag, 1 mirrored beige bag.
|
||||
dim lime bags contain 4 dotted aqua bags, 2 pale red bags.
|
||||
clear purple bags contain 5 clear lavender bags.
|
||||
plaid beige bags contain 1 bright olive bag, 1 light brown bag, 1 muted blue bag, 4 dotted green bags.
|
||||
dark blue bags contain 1 dim red bag, 2 wavy cyan bags.
|
||||
shiny lime bags contain 3 dull tomato bags, 2 bright gray bags, 1 pale fuchsia bag.
|
||||
muted lavender bags contain 2 mirrored tan bags, 1 vibrant orange bag, 2 light gold bags.
|
||||
drab violet bags contain 1 dotted beige bag, 5 faded purple bags, 1 pale green bag.
|
||||
striped lime bags contain 3 plaid orange bags.
|
||||
posh gold bags contain 3 dark bronze bags, 3 posh chartreuse bags, 1 clear lime bag, 5 shiny coral bags.
|
||||
mirrored white bags contain 4 dull red bags, 1 pale crimson bag, 2 posh blue bags.
|
||||
dotted brown bags contain 1 vibrant lavender bag, 3 dark lavender bags, 5 bright salmon bags.
|
||||
faded salmon bags contain 2 mirrored violet bags, 5 dark chartreuse bags, 5 dull silver bags, 1 mirrored teal bag.
|
||||
dull purple bags contain 2 light brown bags, 2 mirrored tan bags.
|
||||
muted black bags contain 4 vibrant indigo bags, 2 wavy crimson bags, 4 light cyan bags, 5 dim salmon bags.
|
||||
muted cyan bags contain 2 posh olive bags, 5 dark gray bags, 2 plaid green bags, 2 clear brown bags.
|
||||
shiny violet bags contain 1 vibrant gray bag, 4 posh teal bags.
|
||||
dim lavender bags contain 1 dim coral bag, 4 light silver bags, 3 dull teal bags, 3 wavy coral bags.
|
||||
dotted tan bags contain 5 plaid tan bags, 2 plaid plum bags, 3 vibrant crimson bags.
|
||||
faded aqua bags contain 3 light purple bags, 1 pale white bag, 5 muted turquoise bags.
|
||||
drab coral bags contain 4 vibrant turquoise bags, 1 dull yellow bag, 4 clear turquoise bags, 5 dull beige bags.
|
||||
mirrored olive bags contain 5 plaid magenta bags, 5 light indigo bags.
|
||||
light salmon bags contain 2 dull plum bags, 1 striped blue bag.
|
||||
vibrant magenta bags contain 5 muted lime bags, 3 dull tomato bags, 2 clear tomato bags, 3 dim brown bags.
|
||||
dark brown bags contain 4 dull gray bags.
|
||||
striped plum bags contain 2 plaid turquoise bags.
|
||||
drab tomato bags contain 1 mirrored black bag, 1 dull beige bag.
|
||||
dotted black bags contain 4 light cyan bags.
|
||||
shiny plum bags contain 5 drab magenta bags.
|
||||
plaid purple bags contain 1 dark black bag.
|
||||
muted bronze bags contain 4 muted white bags, 1 dotted bronze bag, 3 bright crimson bags.
|
||||
striped aqua bags contain 5 mirrored silver bags, 2 dim blue bags, 2 drab purple bags.
|
||||
light indigo bags contain 1 muted olive bag, 5 shiny plum bags.
|
||||
drab lavender bags contain 4 dotted aqua bags, 1 dull chartreuse bag, 5 drab teal bags, 3 light brown bags.
|
||||
wavy fuchsia bags contain 4 posh maroon bags.
|
||||
dim blue bags contain 2 mirrored purple bags, 2 dim gold bags, 3 vibrant chartreuse bags, 1 dull red bag.
|
||||
muted olive bags contain 2 pale crimson bags, 4 mirrored green bags, 1 dim white bag.
|
||||
striped tomato bags contain 4 posh tan bags, 2 pale crimson bags, 2 shiny fuchsia bags, 5 striped gray bags.
|
||||
faded white bags contain 3 vibrant tan bags.
|
||||
dotted gold bags contain 5 plaid gray bags, 5 mirrored cyan bags, 2 vibrant purple bags, 5 light orange bags.
|
||||
vibrant crimson bags contain 2 mirrored violet bags, 3 faded chartreuse bags, 3 wavy lavender bags.
|
||||
light lavender bags contain 2 light gold bags.
|
||||
muted fuchsia bags contain 4 drab blue bags.
|
||||
clear tomato bags contain 3 plaid aqua bags.
|
||||
shiny fuchsia bags contain 1 wavy lavender bag, 5 striped blue bags.
|
||||
shiny cyan bags contain 5 dim red bags, 3 dim brown bags.
|
||||
wavy crimson bags contain 3 bright lavender bags, 2 faded plum bags.
|
||||
light cyan bags contain 1 striped fuchsia bag.
|
||||
mirrored crimson bags contain 3 wavy lavender bags, 4 vibrant tan bags, 5 faded plum bags.
|
||||
dark tomato bags contain 5 mirrored gray bags, 5 muted fuchsia bags, 2 plaid lavender bags, 4 light purple bags.
|
||||
plaid magenta bags contain 1 muted silver bag, 5 light lavender bags, 4 muted brown bags, 3 drab turquoise bags.
|
||||
vibrant olive bags contain 1 plaid cyan bag, 5 drab white bags, 1 bright indigo bag, 5 plaid yellow bags.
|
||||
dull crimson bags contain 5 pale silver bags, 3 posh blue bags, 5 dull olive bags.
|
||||
mirrored gray bags contain 4 dull olive bags, 1 shiny fuchsia bag, 5 mirrored black bags, 2 clear magenta bags.
|
||||
dim aqua bags contain 3 mirrored indigo bags, 5 muted maroon bags, 4 dark orange bags.
|
||||
bright tan bags contain 2 bright teal bags, 5 vibrant indigo bags, 1 dull black bag.
|
||||
dark white bags contain 3 dark violet bags.
|
||||
dull black bags contain 5 posh cyan bags, 5 shiny tomato bags, 1 light yellow bag.
|
||||
mirrored orange bags contain 3 posh coral bags, 1 bright silver bag, 3 faded plum bags, 2 dotted coral bags.
|
||||
mirrored tan bags contain 2 pale violet bags, 1 dim gold bag, 2 faded green bags, 2 posh blue bags.
|
||||
shiny turquoise bags contain 1 vibrant silver bag.
|
||||
plaid chartreuse bags contain 4 striped white bags, 5 vibrant bronze bags, 1 pale brown bag.
|
||||
mirrored plum bags contain 1 shiny fuchsia bag, 4 bright indigo bags, 4 muted maroon bags, 2 drab red bags.
|
||||
faded lavender bags contain 3 faded chartreuse bags, 5 muted plum bags, 3 light brown bags.
|
||||
dim green bags contain 5 pale plum bags, 2 clear magenta bags.
|
||||
bright green bags contain 5 posh lime bags.
|
||||
dim yellow bags contain 1 plaid fuchsia bag, 1 dotted olive bag.
|
||||
pale silver bags contain 1 muted brown bag, 3 clear lavender bags.
|
||||
dark turquoise bags contain 2 wavy lavender bags, 4 posh gray bags, 3 plaid tan bags.
|
||||
muted gray bags contain 4 drab teal bags.
|
||||
striped maroon bags contain 1 striped fuchsia bag, 1 vibrant green bag.
|
||||
clear crimson bags contain 1 light black bag, 4 dim aqua bags, 2 dull red bags.
|
||||
dotted bronze bags contain 3 muted purple bags, 5 muted lime bags, 5 pale plum bags.
|
||||
wavy coral bags contain 1 dull white bag.
|
||||
dotted purple bags contain 2 dim blue bags.
|
||||
pale cyan bags contain 1 dark beige bag, 1 drab crimson bag, 2 plaid black bags, 3 dim tomato bags.
|
||||
clear green bags contain 4 muted lime bags, 1 mirrored white bag, 4 pale lavender bags, 2 muted gold bags.
|
||||
plaid yellow bags contain 3 muted silver bags.
|
||||
pale tan bags contain 4 shiny cyan bags.
|
||||
clear brown bags contain 2 dull maroon bags, 4 posh orange bags, 3 mirrored blue bags.
|
||||
striped cyan bags contain 1 muted tomato bag, 2 dim magenta bags.
|
||||
clear lavender bags contain 3 plaid fuchsia bags.
|
||||
dull gold bags contain 5 dim salmon bags.
|
||||
dark cyan bags contain 4 pale gold bags, 2 muted tan bags.
|
||||
plaid olive bags contain 5 posh tan bags.
|
||||
vibrant aqua bags contain 3 striped violet bags, 3 muted turquoise bags.
|
||||
dim white bags contain 2 plaid fuchsia bags, 1 dull olive bag, 4 faded teal bags.
|
||||
mirrored silver bags contain 2 mirrored gray bags, 4 muted blue bags, 4 dull gray bags.
|
||||
wavy violet bags contain 5 bright green bags, 3 pale silver bags, 5 dark aqua bags, 4 shiny tomato bags.
|
||||
bright coral bags contain 2 striped chartreuse bags, 4 clear aqua bags, 5 vibrant olive bags, 3 wavy tomato bags.
|
||||
plaid coral bags contain 3 clear turquoise bags, 2 muted olive bags, 2 faded crimson bags, 5 dull yellow bags.
|
||||
posh purple bags contain 4 dull cyan bags.
|
||||
muted maroon bags contain 5 striped white bags, 2 pale blue bags, 3 dull crimson bags, 1 pale lavender bag.
|
||||
mirrored black bags contain 5 plaid fuchsia bags, 3 vibrant green bags, 1 faded chartreuse bag.
|
||||
vibrant turquoise bags contain 4 plaid black bags, 1 shiny brown bag, 5 wavy purple bags, 2 dim red bags.
|
||||
muted gold bags contain 3 clear lavender bags, 2 dotted chartreuse bags, 3 dim green bags, 2 mirrored black bags.
|
||||
dark lime bags contain 5 dark aqua bags, 2 plaid plum bags.
|
||||
posh brown bags contain 3 drab fuchsia bags, 1 dim gold bag, 4 drab magenta bags, 3 wavy aqua bags.
|
||||
clear yellow bags contain 3 wavy indigo bags.
|
||||
muted blue bags contain 1 wavy crimson bag, 5 mirrored red bags, 5 shiny crimson bags, 4 plaid fuchsia bags.
|
||||
drab white bags contain 5 dull olive bags, 2 posh maroon bags, 2 pale silver bags, 5 muted brown bags.
|
||||
dim gold bags contain no other bags.
|
||||
faded plum bags contain 4 plaid turquoise bags, 5 drab chartreuse bags, 2 dotted olive bags, 3 plaid fuchsia bags.
|
||||
light blue bags contain 4 plaid coral bags, 5 dotted violet bags.
|
||||
vibrant gold bags contain 2 dim fuchsia bags, 3 faded white bags.
|
||||
plaid crimson bags contain 1 plaid plum bag.
|
||||
dim fuchsia bags contain 3 faded teal bags.
|
||||
mirrored chartreuse bags contain 3 wavy black bags.
|
||||
mirrored fuchsia bags contain 1 faded teal bag, 5 light coral bags.
|
||||
muted coral bags contain 3 light magenta bags, 5 faded green bags, 1 dull olive bag, 2 muted silver bags.
|
||||
dim teal bags contain 4 pale teal bags, 1 plaid maroon bag, 2 plaid yellow bags, 1 plaid orange bag.
|
||||
faded green bags contain 4 striped gray bags.
|
||||
vibrant beige bags contain 2 muted blue bags, 3 vibrant gray bags.
|
||||
muted silver bags contain 3 dotted violet bags.
|
||||
dotted cyan bags contain 2 mirrored gray bags, 5 muted purple bags, 2 faded bronze bags.
|
||||
bright turquoise bags contain 1 pale tan bag, 1 pale salmon bag.
|
||||
wavy gold bags contain 2 pale olive bags.
|
||||
faded turquoise bags contain 2 vibrant fuchsia bags, 2 drab fuchsia bags, 4 striped black bags.
|
||||
faded lime bags contain 4 dim gold bags, 5 vibrant yellow bags.
|
||||
faded black bags contain 2 dark coral bags, 2 shiny crimson bags, 4 clear gray bags.
|
||||
vibrant silver bags contain 1 shiny teal bag, 5 dotted chartreuse bags, 1 pale magenta bag, 3 clear coral bags.
|
||||
dim brown bags contain 1 posh gray bag.
|
||||
dim cyan bags contain 2 drab tan bags, 4 posh white bags.
|
||||
bright fuchsia bags contain 1 dark crimson bag, 3 posh coral bags.
|
||||
clear tan bags contain 1 light tomato bag, 5 bright olive bags, 1 dull violet bag, 2 bright green bags.
|
||||
pale red bags contain 5 mirrored tomato bags, 4 dull red bags, 3 shiny teal bags.
|
||||
drab chartreuse bags contain 1 vibrant green bag, 3 shiny crimson bags, 3 dotted olive bags.
|
||||
dark gray bags contain 4 dotted coral bags, 2 shiny teal bags, 1 muted blue bag, 4 bright silver bags.
|
||||
dim purple bags contain 5 dotted gold bags.
|
||||
shiny crimson bags contain no other bags.
|
||||
posh maroon bags contain 4 light magenta bags, 4 muted tan bags.
|
||||
mirrored purple bags contain no other bags.
|
||||
wavy silver bags contain 5 faded lavender bags, 4 clear lime bags.
|
||||
dark indigo bags contain 3 light plum bags, 5 dotted crimson bags, 1 wavy plum bag, 4 light gold bags.
|
||||
wavy gray bags contain 3 clear gold bags.
|
||||
pale gray bags contain 2 bright gold bags.
|
||||
muted turquoise bags contain 1 wavy bronze bag, 1 muted blue bag.
|
||||
dull yellow bags contain 3 posh olive bags, 5 faded red bags.
|
||||
mirrored tomato bags contain 3 striped olive bags, 4 light chartreuse bags, 5 pale silver bags.
|
||||
dotted crimson bags contain 3 muted brown bags, 4 dim blue bags, 4 dark silver bags, 3 pale lavender bags.
|
||||
pale magenta bags contain 3 clear bronze bags, 1 plaid brown bag, 1 dim gold bag.
|
||||
faded brown bags contain 3 plaid fuchsia bags, 1 faded chartreuse bag.
|
||||
clear salmon bags contain 1 plaid fuchsia bag, 4 wavy coral bags, 5 shiny coral bags, 3 clear turquoise bags.
|
||||
clear coral bags contain 5 faded chartreuse bags, 1 drab chartreuse bag, 2 dim gold bags.
|
||||
dull magenta bags contain 2 dark coral bags, 4 drab indigo bags, 3 posh maroon bags.
|
||||
posh black bags contain 4 dim white bags, 2 dark lime bags, 5 faded green bags, 2 plaid green bags.
|
||||
dim beige bags contain 2 striped lavender bags, 5 posh lavender bags.
|
||||
clear turquoise bags contain 2 muted brown bags.
|
||||
faded red bags contain 2 vibrant salmon bags, 3 dark orange bags.
|
||||
shiny aqua bags contain 1 shiny salmon bag, 2 light olive bags, 4 dotted magenta bags.
|
||||
dotted yellow bags contain 3 striped green bags, 5 posh tan bags.
|
||||
dark silver bags contain 4 posh maroon bags, 4 clear lavender bags.
|
||||
dull gray bags contain 3 plaid violet bags, 3 dark silver bags, 3 mirrored black bags, 1 drab indigo bag.
|
||||
drab indigo bags contain 2 faded plum bags, 4 clear turquoise bags, 2 pale white bags, 3 drab magenta bags.
|
||||
dotted indigo bags contain 1 dim olive bag.
|
||||
drab crimson bags contain 3 plaid turquoise bags, 2 pale purple bags.
|
||||
pale coral bags contain 3 posh blue bags.
|
||||
shiny tomato bags contain 5 muted salmon bags, 4 faded plum bags, 1 drab chartreuse bag, 5 muted brown bags.
|
||||
wavy yellow bags contain 4 striped black bags, 1 dull turquoise bag.
|
||||
faded indigo bags contain 4 wavy crimson bags, 1 dark orange bag, 5 dotted coral bags.
|
||||
light white bags contain 2 bright blue bags, 3 pale lavender bags, 3 dull lime bags, 2 pale coral bags.
|
||||
dark black bags contain 4 light orange bags, 5 shiny coral bags.
|
||||
dull white bags contain 3 striped fuchsia bags.
|
||||
bright tomato bags contain 5 shiny cyan bags, 4 plaid bronze bags, 1 muted salmon bag.
|
||||
vibrant lime bags contain 1 dotted gray bag, 3 drab crimson bags, 3 faded crimson bags.
|
||||
dotted orange bags contain 2 dark purple bags, 4 faded lavender bags.
|
||||
dim black bags contain 3 dark turquoise bags, 5 posh gray bags, 4 dull tan bags.
|
||||
light bronze bags contain 1 striped blue bag.
|
||||
dotted salmon bags contain 3 muted crimson bags, 1 faded gold bag, 1 wavy violet bag, 3 striped gray bags.
|
||||
shiny coral bags contain 1 shiny fuchsia bag.
|
||||
clear beige bags contain 1 dim yellow bag, 3 mirrored tomato bags.
|
||||
mirrored blue bags contain 1 plaid fuchsia bag.
|
||||
bright yellow bags contain 3 dotted violet bags, 5 dull teal bags.
|
||||
drab bronze bags contain 1 dim black bag, 5 faded indigo bags.
|
||||
posh red bags contain 1 pale silver bag.
|
||||
dark bronze bags contain 4 dotted fuchsia bags, 5 light salmon bags, 1 muted brown bag, 1 posh blue bag.
|
||||
pale indigo bags contain 4 vibrant bronze bags.
|
||||
light violet bags contain 2 shiny tomato bags, 1 wavy maroon bag.
|
||||
muted crimson bags contain 4 clear gold bags, 4 dark coral bags.
|
||||
faded chartreuse bags contain no other bags.
|
||||
muted tan bags contain no other bags.
|
||||
clear lime bags contain 1 bright lavender bag, 4 dim olive bags, 4 pale plum bags.
|
||||
plaid lime bags contain 1 drab lime bag.
|
||||
mirrored green bags contain 4 dim tomato bags, 3 clear coral bags, 2 shiny lavender bags.
|
||||
bright orange bags contain 5 bright salmon bags, 4 plaid maroon bags.
|
||||
dim plum bags contain 1 striped chartreuse bag, 3 dotted violet bags, 1 faded teal bag, 1 dim green bag.
|
||||
faded tan bags contain 4 mirrored black bags.
|
||||
wavy salmon bags contain 1 faded tomato bag.
|
||||
dim coral bags contain 3 dull indigo bags, 3 wavy tomato bags.
|
||||
dim turquoise bags contain 2 wavy yellow bags, 4 dull silver bags.
|
||||
dull chartreuse bags contain 5 mirrored purple bags, 4 pale coral bags, 2 shiny purple bags.
|
||||
drab fuchsia bags contain 4 dotted olive bags, 2 dim gold bags, 4 shiny crimson bags.
|
||||
dull tomato bags contain 2 striped indigo bags.
|
||||
striped lavender bags contain 5 plaid cyan bags, 5 faded green bags, 1 posh gray bag.
|
||||
clear gold bags contain 5 clear turquoise bags, 2 dull tan bags.
|
||||
dark orange bags contain 5 dotted olive bags, 3 pale magenta bags, 2 posh blue bags, 1 vibrant green bag.
|
||||
clear plum bags contain 4 posh olive bags.
|
||||
dark olive bags contain 5 faded silver bags, 1 vibrant tan bag, 3 bright crimson bags.
|
||||
striped magenta bags contain 3 shiny lavender bags, 5 faded green bags, 4 striped lavender bags, 2 mirrored black bags.
|
||||
dim chartreuse bags contain 4 striped turquoise bags, 5 mirrored tomato bags.
|
||||
faded teal bags contain 3 dull olive bags, 1 dull tan bag, 5 posh maroon bags.
|
||||
wavy cyan bags contain 1 shiny magenta bag.
|
||||
dim tomato bags contain 1 plaid plum bag, 2 plaid fuchsia bags, 5 mirrored blue bags.
|
||||
drab maroon bags contain 4 faded coral bags, 2 dotted black bags, 3 posh orange bags, 2 faded indigo bags.
|
||||
posh white bags contain 2 clear coral bags, 3 plaid turquoise bags, 2 mirrored black bags.
|
||||
shiny orange bags contain 4 light coral bags.
|
||||
bright teal bags contain 3 clear gray bags, 2 clear turquoise bags, 3 faded crimson bags.
|
||||
clear aqua bags contain 3 muted silver bags, 5 dim white bags, 5 drab lime bags, 4 clear gold bags.
|
||||
vibrant black bags contain 1 dim violet bag, 5 pale indigo bags, 4 wavy indigo bags, 5 muted green bags.
|
||||
clear chartreuse bags contain 1 dull black bag, 3 dotted olive bags, 3 dull indigo bags.
|
||||
posh lavender bags contain 5 vibrant orange bags, 2 dim white bags, 1 dull beige bag.
|
||||
dark crimson bags contain 5 faded tomato bags, 1 striped fuchsia bag.
|
||||
light black bags contain 3 muted tomato bags, 5 clear bronze bags, 4 drab chartreuse bags.
|
||||
wavy plum bags contain 3 dotted coral bags, 5 vibrant olive bags.
|
||||
plaid salmon bags contain 4 dull salmon bags.
|
||||
wavy chartreuse bags contain 1 mirrored turquoise bag.
|
||||
vibrant fuchsia bags contain 2 mirrored gold bags, 5 dull bronze bags.
|
||||
dim violet bags contain 1 faded fuchsia bag, 1 mirrored red bag, 2 posh fuchsia bags, 4 mirrored turquoise bags.
|
||||
vibrant tan bags contain 2 clear salmon bags, 5 drab red bags, 3 dotted gray bags.
|
||||
dim bronze bags contain 1 drab green bag.
|
||||
shiny lavender bags contain 3 muted salmon bags.
|
||||
striped fuchsia bags contain 4 dim gold bags, 2 dotted crimson bags.
|
||||
dim tan bags contain 2 plaid red bags, 2 bright chartreuse bags, 2 dim salmon bags.
|
||||
dotted violet bags contain no other bags.
|
||||
dull maroon bags contain 4 faded chartreuse bags.
|
||||
clear violet bags contain 1 drab lime bag, 5 muted coral bags, 1 clear lavender bag.
|
||||
plaid maroon bags contain 1 drab red bag, 3 muted gold bags.
|
||||
vibrant gray bags contain 1 plaid fuchsia bag.
|
||||
light yellow bags contain 4 mirrored blue bags, 2 plaid fuchsia bags, 1 wavy tomato bag.
|
||||
dotted teal bags contain 3 light tan bags.
|
||||
vibrant chartreuse bags contain 1 shiny crimson bag, 2 plaid fuchsia bags.
|
||||
dull lavender bags contain 1 light crimson bag.
|
||||
dark gold bags contain 3 muted olive bags, 1 posh tan bag, 5 vibrant purple bags.
|
||||
light aqua bags contain 1 wavy bronze bag.
|
||||
dim crimson bags contain 3 plaid beige bags, 1 plaid yellow bag.
|
||||
plaid brown bags contain 5 dotted olive bags, 4 muted salmon bags, 3 dim gold bags.
|
||||
dotted magenta bags contain 1 wavy coral bag, 2 drab turquoise bags, 5 mirrored tomato bags.
|
||||
muted tomato bags contain 4 wavy fuchsia bags, 4 pale magenta bags.
|
||||
posh tomato bags contain 1 striped beige bag, 1 faded brown bag.
|
||||
faded gray bags contain 4 plaid maroon bags, 5 muted silver bags, 5 muted maroon bags, 4 vibrant fuchsia bags.
|
||||
plaid lavender bags contain 3 dim blue bags, 4 vibrant gray bags, 2 light silver bags, 1 dull green bag.
|
||||
muted indigo bags contain 2 dark coral bags, 1 vibrant indigo bag, 3 dim yellow bags, 4 muted aqua bags.
|
||||
posh turquoise bags contain 4 drab red bags, 2 faded teal bags, 4 dull maroon bags.
|
||||
bright red bags contain 5 wavy lime bags, 4 bright black bags, 1 muted white bag.
|
||||
pale tomato bags contain 1 posh olive bag.
|
||||
dim maroon bags contain 5 vibrant red bags, 3 vibrant orange bags, 1 dark chartreuse bag.
|
||||
shiny teal bags contain 2 plaid fuchsia bags, 4 dotted olive bags, 2 vibrant chartreuse bags, 4 muted brown bags.
|
||||
plaid gold bags contain 3 clear olive bags, 1 faded chartreuse bag.
|
||||
shiny beige bags contain 5 wavy lavender bags, 3 muted salmon bags.
|
||||
drab green bags contain 1 clear bronze bag, 2 posh teal bags, 1 dotted green bag, 5 pale white bags.
|
||||
light beige bags contain 5 vibrant red bags.
|
||||
clear indigo bags contain 4 plaid violet bags.
|
||||
clear black bags contain 5 striped olive bags, 5 posh red bags, 4 posh brown bags, 4 shiny olive bags.
|
||||
wavy red bags contain 1 dull red bag, 2 shiny magenta bags, 4 shiny black bags.
|
||||
striped indigo bags contain 1 striped black bag, 2 plaid cyan bags.
|
||||
clear bronze bags contain no other bags.
|
||||
shiny salmon bags contain 1 muted tan bag, 5 striped white bags, 5 striped fuchsia bags.
|
||||
mirrored teal bags contain 5 light lime bags.
|
||||
dotted blue bags contain 4 dark aqua bags, 3 clear bronze bags, 4 dull olive bags.
|
||||
shiny blue bags contain 3 bright green bags, 5 pale lavender bags.
|
||||
faded cyan bags contain 3 dark red bags, 4 drab cyan bags, 5 faded beige bags.
|
||||
light purple bags contain 3 posh silver bags.
|
||||
vibrant teal bags contain 4 dotted gold bags, 1 plaid yellow bag, 1 mirrored cyan bag, 5 dull indigo bags.
|
||||
wavy bronze bags contain 2 muted silver bags.
|
||||
dim red bags contain 3 clear bronze bags, 5 faded plum bags.
|
||||
muted yellow bags contain 2 muted blue bags, 5 striped beige bags, 2 drab indigo bags, 5 drab red bags.
|
||||
mirrored lavender bags contain 3 dull maroon bags.
|
||||
pale white bags contain 3 vibrant chartreuse bags, 5 posh maroon bags, 4 muted brown bags, 3 plaid turquoise bags.
|
||||
vibrant maroon bags contain 2 shiny purple bags, 2 dim yellow bags.
|
||||
dull teal bags contain 2 mirrored black bags, 5 drab white bags.
|
||||
bright olive bags contain 5 clear bronze bags, 2 drab red bags.
|
||||
shiny white bags contain 2 clear brown bags, 4 muted white bags.
|
||||
muted aqua bags contain 4 dim green bags, 3 shiny tomato bags, 2 posh chartreuse bags, 4 muted lavender bags.
|
||||
dull fuchsia bags contain 5 mirrored red bags, 4 dark lime bags.
|
||||
pale brown bags contain 4 striped indigo bags, 4 dotted coral bags, 4 shiny maroon bags, 5 striped white bags.
|
||||
plaid tomato bags contain 4 drab turquoise bags, 1 posh plum bag, 5 dotted indigo bags.
|
||||
pale teal bags contain 5 dull plum bags, 5 dim crimson bags, 5 shiny purple bags.
|
||||
mirrored yellow bags contain 1 posh olive bag.
|
||||
dim silver bags contain 4 clear magenta bags, 3 plaid silver bags, 1 striped maroon bag.
|
||||
posh cyan bags contain 5 pale coral bags, 2 faded magenta bags, 4 dim cyan bags.
|
||||
clear silver bags contain 1 muted red bag, 1 faded turquoise bag.
|
||||
shiny black bags contain 1 dim blue bag.
|
||||
bright silver bags contain 4 shiny teal bags, 1 dull red bag, 4 bright olive bags, 2 shiny brown bags.
|
||||
drab aqua bags contain 3 vibrant indigo bags, 5 wavy cyan bags, 3 shiny violet bags, 2 dull bronze bags.
|
||||
vibrant lavender bags contain 1 muted turquoise bag, 5 light crimson bags, 3 wavy crimson bags.
|
||||
pale lavender bags contain 2 posh blue bags, 5 dim red bags.
|
||||
plaid black bags contain 2 faded green bags, 1 bright black bag.
|
||||
dotted white bags contain 5 shiny gold bags, 2 dotted magenta bags.
|
||||
wavy maroon bags contain 3 striped white bags, 3 mirrored black bags, 3 plaid turquoise bags.
|
||||
dotted plum bags contain 1 faded coral bag.
|
||||
striped salmon bags contain 4 plaid indigo bags, 1 light brown bag, 4 posh tomato bags, 1 bright chartreuse bag.
|
||||
faded violet bags contain 5 shiny coral bags.
|
||||
dotted fuchsia bags contain 3 dim red bags, 1 muted purple bag, 3 striped indigo bags, 3 drab magenta bags.
|
||||
dark coral bags contain 4 pale lavender bags, 2 posh coral bags, 5 striped olive bags, 1 clear bronze bag.
|
||||
posh tan bags contain 2 dark silver bags.
|
||||
dotted green bags contain 3 drab white bags, 4 drab red bags, 4 pale magenta bags.
|
||||
clear blue bags contain 2 plaid fuchsia bags, 2 dotted purple bags, 2 faded violet bags, 1 dim blue bag.
|
||||
dotted olive bags contain 3 plaid fuchsia bags, 2 dim gold bags, 1 shiny crimson bag, 2 muted tan bags.
|
||||
plaid red bags contain 3 dull violet bags, 1 dotted crimson bag, 1 dull plum bag.
|
||||
plaid teal bags contain 4 muted tomato bags, 5 posh tan bags.
|
||||
striped green bags contain 5 dotted gray bags, 1 faded green bag, 1 muted brown bag.
|
||||
pale gold bags contain 4 shiny purple bags, 2 dim cyan bags.
|
||||
dim salmon bags contain 3 bright green bags, 2 dim magenta bags, 1 dim black bag.
|
||||
drab beige bags contain 3 light lime bags, 2 faded teal bags, 3 light fuchsia bags.
|
||||
shiny green bags contain 5 wavy gray bags, 1 mirrored tan bag.
|
||||
dark red bags contain 4 mirrored silver bags, 5 pale plum bags, 1 wavy violet bag.
|
||||
wavy black bags contain 1 drab white bag, 4 shiny chartreuse bags, 2 striped white bags.
|
||||
vibrant white bags contain 5 shiny lavender bags, 4 dark black bags, 1 dull bronze bag.
|
||||
faded silver bags contain 3 vibrant purple bags, 5 mirrored blue bags, 5 dull chartreuse bags, 1 faded bronze bag.
|
||||
mirrored brown bags contain 5 dull plum bags, 3 mirrored orange bags, 1 light gold bag, 5 light cyan bags.
|
||||
striped brown bags contain 4 muted indigo bags, 3 dim coral bags, 3 drab turquoise bags.
|
||||
faded beige bags contain 1 drab chartreuse bag, 5 faded fuchsia bags, 1 clear salmon bag, 2 dim cyan bags.
|
||||
pale salmon bags contain 1 dotted tomato bag, 5 faded silver bags, 2 dim beige bags.
|
||||
striped chartreuse bags contain 1 light magenta bag.
|
||||
pale chartreuse bags contain 3 dark white bags, 5 shiny aqua bags.
|
||||
wavy teal bags contain 2 light orange bags, 3 dull cyan bags.
|
||||
dull tan bags contain 3 mirrored purple bags, 5 plaid turquoise bags, 5 posh blue bags, 5 shiny crimson bags.
|
||||
wavy white bags contain 5 wavy olive bags.
|
||||
clear magenta bags contain 1 pale lavender bag.
|
||||
light gold bags contain 1 posh maroon bag, 1 dull olive bag, 3 striped chartreuse bags.
|
||||
striped olive bags contain 4 clear magenta bags, 3 clear gold bags, 3 shiny black bags.
|
||||
plaid aqua bags contain 5 posh tan bags, 4 mirrored indigo bags, 3 drab white bags, 1 drab red bag.
|
||||
dark maroon bags contain 4 dim purple bags, 5 dark turquoise bags.
|
||||
mirrored magenta bags contain 3 striped lime bags, 4 posh lime bags, 2 shiny olive bags.
|
||||
bright brown bags contain 5 dim yellow bags.
|
||||
bright black bags contain 4 posh brown bags, 3 shiny beige bags, 2 wavy lavender bags.
|
||||
light olive bags contain 1 dark purple bag, 2 clear fuchsia bags, 2 striped blue bags, 4 pale brown bags.
|
||||
dull beige bags contain 5 shiny fuchsia bags, 4 muted brown bags, 5 posh gray bags, 4 posh maroon bags.
|
||||
bright indigo bags contain 5 dotted coral bags, 2 dull red bags, 5 dotted olive bags.
|
||||
drab cyan bags contain 1 mirrored brown bag, 4 dim aqua bags, 4 mirrored plum bags.
|
||||
faded magenta bags contain 2 dull silver bags, 3 clear gold bags.
|
||||
pale aqua bags contain 1 bright indigo bag, 2 posh maroon bags, 1 pale lavender bag.
|
||||
light red bags contain 3 muted magenta bags, 4 pale olive bags.
|
||||
vibrant salmon bags contain 3 dim tomato bags, 1 vibrant lavender bag, 4 muted plum bags.
|
||||
striped blue bags contain 1 dull tan bag, 3 muted silver bags, 2 dotted green bags.
|
||||
shiny olive bags contain 1 plaid cyan bag, 5 dark violet bags, 3 clear bronze bags.
|
||||
drab black bags contain 1 faded black bag.
|
||||
posh bronze bags contain 5 plaid brown bags, 1 striped white bag.
|
||||
posh blue bags contain 3 plaid fuchsia bags, 1 muted silver bag, 1 drab chartreuse bag.
|
||||
posh fuchsia bags contain 5 plaid red bags, 5 vibrant silver bags, 4 faded coral bags.
|
||||
clear olive bags contain 1 plaid orange bag, 5 dim cyan bags.
|
||||
striped red bags contain 3 clear crimson bags, 5 clear lime bags, 4 faded bronze bags, 2 posh teal bags.
|
||||
dotted coral bags contain 2 pale silver bags.
|
||||
drab teal bags contain 2 pale violet bags, 1 mirrored red bag.
|
||||
pale black bags contain 5 dull olive bags.
|
||||
vibrant brown bags contain 1 mirrored indigo bag, 3 clear white bags.
|
||||
pale olive bags contain 1 pale white bag, 1 dark plum bag, 1 dim tomato bag, 1 vibrant beige bag.
|
||||
faded orange bags contain 1 striped coral bag, 3 dull plum bags, 3 drab silver bags, 3 clear fuchsia bags.
|
||||
plaid silver bags contain 3 drab chartreuse bags.
|
||||
pale beige bags contain 5 clear yellow bags, 2 vibrant purple bags, 1 faded salmon bag.
|
||||
dark magenta bags contain 2 wavy lavender bags, 4 shiny tomato bags, 2 faded plum bags.
|
||||
dark purple bags contain 2 clear brown bags, 1 vibrant chartreuse bag, 1 vibrant fuchsia bag, 5 pale blue bags.
|
||||
vibrant yellow bags contain 5 drab chartreuse bags.
|
||||
light silver bags contain 5 shiny crimson bags.
|
||||
clear maroon bags contain 2 plaid teal bags, 4 muted tomato bags, 3 faded tan bags.
|
||||
drab turquoise bags contain 1 plaid yellow bag, 4 wavy bronze bags, 3 vibrant olive bags.
|
||||
drab salmon bags contain 1 dark white bag, 3 light plum bags, 3 posh silver bags, 3 clear salmon bags.
|
||||
shiny magenta bags contain 1 striped chartreuse bag.
|
||||
dull indigo bags contain 2 striped green bags.
|
||||
posh green bags contain 4 muted gold bags, 2 light chartreuse bags.
|
||||
striped crimson bags contain 5 striped turquoise bags.
|
||||
posh aqua bags contain 5 light magenta bags.
|
||||
vibrant bronze bags contain 4 pale magenta bags, 4 light silver bags, 2 vibrant yellow bags, 2 wavy yellow bags.
|
||||
bright bronze bags contain 3 dark violet bags, 1 dim black bag, 2 dark silver bags.
|
||||
plaid orange bags contain 3 dim tomato bags, 3 drab turquoise bags.
|
||||
drab lime bags contain 1 drab white bag, 5 muted white bags.
|
||||
bright lime bags contain 5 shiny teal bags, 3 muted purple bags.
|
||||
wavy lime bags contain 5 dull maroon bags.
|
||||
dim indigo bags contain 4 pale cyan bags, 2 dotted turquoise bags, 2 striped blue bags, 2 posh brown bags.
|
||||
wavy blue bags contain 2 pale plum bags.
|
||||
muted brown bags contain 1 muted silver bag, 1 dotted olive bag, 1 drab fuchsia bag.
|
||||
shiny bronze bags contain 2 dotted gray bags, 2 shiny magenta bags, 4 posh black bags.
|
||||
light fuchsia bags contain 3 mirrored brown bags, 1 faded purple bag, 2 wavy violet bags, 1 posh salmon bag.
|
||||
light maroon bags contain 4 dull chartreuse bags, 4 dotted cyan bags, 2 muted tan bags.
|
||||
muted teal bags contain 2 muted coral bags, 1 dotted aqua bag, 2 vibrant gray bags, 5 dim crimson bags.
|
||||
shiny yellow bags contain 4 bright olive bags.
|
||||
bright maroon bags contain 2 clear maroon bags, 2 striped cyan bags.
|
||||
pale crimson bags contain 1 posh blue bag, 4 posh maroon bags, 2 clear lavender bags.
|
||||
dim orange bags contain 5 striped fuchsia bags, 3 posh tan bags, 1 striped beige bag.
|
||||
vibrant green bags contain 3 dotted violet bags, 2 shiny crimson bags, 1 clear lavender bag.
|
||||
striped orange bags contain 3 bright white bags, 2 dotted maroon bags, 5 drab indigo bags.
|
||||
dull plum bags contain 1 striped fuchsia bag, 3 faded crimson bags, 3 dim green bags, 2 posh lavender bags.
|
||||
drab olive bags contain 2 posh white bags, 3 bright salmon bags.
|
||||
dull green bags contain 5 wavy turquoise bags, 4 mirrored gray bags, 3 light maroon bags.
|
||||
mirrored cyan bags contain 1 plaid beige bag.
|
||||
plaid cyan bags contain 5 faded chartreuse bags, 5 shiny crimson bags, 3 drab fuchsia bags, 4 wavy aqua bags.
|
||||
posh yellow bags contain 5 dark chartreuse bags.
|
||||
clear orange bags contain 3 bright green bags, 4 shiny gold bags.
|
||||
dim magenta bags contain 5 faded crimson bags, 3 plaid tan bags, 5 mirrored orange bags, 1 pale lavender bag.
|
||||
bright beige bags contain 4 bright gold bags, 5 pale chartreuse bags.
|
||||
dark plum bags contain 2 pale silver bags.
|
||||
bright violet bags contain 1 dotted green bag.
|
||||
vibrant cyan bags contain 1 dark turquoise bag.
|
||||
posh gray bags contain 3 pale crimson bags, 3 muted white bags, 4 shiny brown bags, 3 clear magenta bags.
|
||||
striped beige bags contain 5 dull bronze bags, 4 dim blue bags, 1 dotted olive bag.
|
||||
shiny gold bags contain 5 vibrant green bags, 4 pale violet bags, 4 dull olive bags, 3 pale white bags.
|
||||
dark salmon bags contain 3 muted bronze bags, 4 muted silver bags, 2 pale purple bags.
|
||||
wavy tan bags contain 3 light turquoise bags, 5 dark bronze bags.
|
||||
light plum bags contain 5 wavy bronze bags, 4 dull crimson bags, 5 dim aqua bags.
|
||||
drab silver bags contain 2 dim fuchsia bags, 3 wavy bronze bags.
|
||||
plaid indigo bags contain 3 plaid tomato bags, 5 clear beige bags.
|
||||
pale lime bags contain 2 striped cyan bags, 2 mirrored lavender bags.
|
||||
faded gold bags contain 4 faded tomato bags, 2 light cyan bags, 2 pale orange bags, 1 wavy bronze bag.
|
||||
striped tan bags contain 1 bright silver bag, 2 faded green bags, 5 dim blue bags, 1 shiny maroon bag.
|
||||
drab purple bags contain 3 dull red bags, 3 light olive bags, 3 shiny red bags.
|
||||
muted orange bags contain 1 mirrored brown bag, 2 muted green bags.
|
||||
dull brown bags contain 3 dim silver bags, 4 posh lavender bags, 5 dark white bags.
|
||||
wavy tomato bags contain 1 drab lime bag, 1 shiny teal bag, 5 dotted violet bags, 4 light crimson bags.
|
||||
dark green bags contain 2 posh orange bags, 4 mirrored tan bags, 5 mirrored violet bags.
|
||||
wavy turquoise bags contain 4 light salmon bags, 2 shiny maroon bags, 1 muted salmon bag.
|
||||
posh orange bags contain 5 dull red bags, 1 drab lime bag, 2 shiny gold bags.
|
||||
vibrant indigo bags contain 5 dark violet bags.
|
||||
faded fuchsia bags contain 5 clear lavender bags, 1 dull silver bag, 5 drab lime bags, 3 bright white bags.
|
||||
wavy beige bags contain 3 vibrant green bags, 3 faded teal bags, 4 muted indigo bags.
|
||||
pale fuchsia bags contain 1 drab lime bag.
|
||||
muted salmon bags contain 1 dotted violet bag, 4 vibrant chartreuse bags, 3 muted silver bags.
|
||||
shiny red bags contain 2 dull gray bags, 3 pale white bags, 1 faded brown bag.
|
||||
clear gray bags contain 1 posh maroon bag, 1 shiny beige bag.
|
||||
muted green bags contain 1 drab magenta bag, 3 pale fuchsia bags, 5 dark fuchsia bags, 1 dull gray bag.
|
||||
vibrant purple bags contain 1 vibrant yellow bag, 4 muted aqua bags.
|
||||
dark fuchsia bags contain 5 mirrored lavender bags, 2 dim red bags, 5 shiny teal bags, 5 vibrant beige bags.
|
||||
striped purple bags contain 2 dim aqua bags, 1 posh teal bag, 5 pale brown bags.
|
||||
posh lime bags contain 2 wavy aqua bags.
|
||||
striped violet bags contain 2 dotted chartreuse bags.
|
||||
muted lime bags contain 1 shiny brown bag, 2 bright purple bags, 2 drab chartreuse bags, 4 clear lavender bags.
|
||||
light gray bags contain 5 dull maroon bags, 4 dull crimson bags, 5 mirrored cyan bags.
|
||||
mirrored maroon bags contain 1 mirrored chartreuse bag, 1 muted cyan bag.
|
||||
light turquoise bags contain 2 bright yellow bags.
|
||||
vibrant blue bags contain 4 muted tomato bags, 2 dull salmon bags.
|
||||
mirrored indigo bags contain 3 light chartreuse bags, 5 dark turquoise bags.
|
||||
faded bronze bags contain 5 dotted chartreuse bags.
|
||||
dotted beige bags contain 4 bright purple bags, 2 striped green bags, 3 posh brown bags.
|
||||
drab red bags contain 2 vibrant chartreuse bags, 1 dim red bag, 4 dark silver bags, 4 pale magenta bags.
|
||||
wavy orange bags contain 3 striped bronze bags, 4 dotted tan bags.
|
||||
striped black bags contain 1 shiny tomato bag.
|
||||
drab gold bags contain 1 plaid lime bag, 2 wavy lavender bags.
|
||||
shiny brown bags contain 5 dull tan bags.
|
||||
posh beige bags contain 1 drab gold bag, 3 dull beige bags, 1 posh blue bag, 2 drab red bags.
|
||||
light green bags contain 3 mirrored tan bags.
|
||||
mirrored coral bags contain 5 mirrored lavender bags, 5 dark white bags, 5 pale silver bags.
|
||||
plaid bronze bags contain 3 pale lavender bags, 1 muted silver bag, 2 faded teal bags, 1 dull teal bag.
|
||||
light chartreuse bags contain 1 muted blue bag, 4 posh chartreuse bags, 2 wavy aqua bags, 4 vibrant orange bags.
|
||||
drab yellow bags contain 2 shiny aqua bags.
|
||||
plaid turquoise bags contain no other bags.
|
||||
drab orange bags contain 1 posh salmon bag, 5 dark violet bags.
|
||||
dark teal bags contain 4 bright indigo bags, 3 plaid coral bags, 1 dark violet bag, 5 shiny tomato bags.
|
||||
drab gray bags contain 4 dotted maroon bags.
|
||||
dotted maroon bags contain 4 plaid turquoise bags, 5 pale bronze bags.
|
||||
muted red bags contain 5 posh brown bags.
|
||||
dim olive bags contain 3 posh brown bags, 2 faded plum bags, 4 wavy tomato bags.
|
||||
pale maroon bags contain 5 dark gold bags, 3 dotted silver bags, 3 shiny tomato bags.
|
||||
dotted turquoise bags contain 1 plaid blue bag, 5 dim green bags, 5 dull plum bags.
|
||||
dotted tomato bags contain 2 dotted indigo bags, 2 clear fuchsia bags.
|
||||
dark aqua bags contain 5 posh olive bags.
|
||||
dark tan bags contain 5 dotted chartreuse bags, 5 posh red bags, 3 plaid cyan bags, 5 pale plum bags.
|
||||
bright chartreuse bags contain 4 posh white bags, 4 shiny maroon bags, 1 shiny tomato bag.
|
||||
striped gray bags contain 4 shiny gold bags, 3 drab white bags, 3 plaid cyan bags.
|
||||
dull olive bags contain 4 plaid brown bags, 2 plaid turquoise bags, 2 plaid cyan bags, 1 vibrant green bag.
|
||||
shiny indigo bags contain 3 shiny black bags, 1 dark orange bag, 1 posh white bag.
|
||||
bright lavender bags contain 1 muted salmon bag, 5 posh maroon bags.
|
||||
plaid white bags contain 5 wavy silver bags.
|
||||
light coral bags contain 3 pale silver bags.
|
||||
plaid plum bags contain 4 shiny brown bags, 1 dark silver bag, 4 pale lavender bags.
|
||||
light magenta bags contain 5 drab chartreuse bags.
|
||||
shiny tan bags contain 4 vibrant chartreuse bags, 5 dim brown bags.
|
||||
wavy magenta bags contain 1 vibrant turquoise bag, 4 dull violet bags, 5 clear indigo bags.
|
||||
pale blue bags contain 2 posh lime bags, 1 shiny brown bag.
|
||||
dull orange bags contain 5 dull lime bags, 1 pale crimson bag.
|
||||
striped white bags contain 1 posh aqua bag, 3 pale magenta bags, 2 posh gray bags.
|
||||
dotted aqua bags contain 2 plaid teal bags.
|
||||
wavy indigo bags contain 4 dark blue bags, 3 dotted black bags, 2 pale violet bags, 4 pale silver bags.
|
||||
bright plum bags contain 3 muted green bags.
|
||||
bright gold bags contain 3 dull beige bags, 3 faded plum bags, 1 mirrored gray bag, 5 muted lime bags.
|
||||
clear fuchsia bags contain 3 clear orange bags, 5 dull crimson bags, 3 drab red bags, 5 vibrant silver bags.
|
||||
posh olive bags contain 2 vibrant green bags.
|
||||
faded maroon bags contain 2 vibrant chartreuse bags, 5 drab tomato bags, 3 dim tomato bags.
|
||||
posh violet bags contain 1 dim gold bag, 2 light chartreuse bags, 4 faded indigo bags, 2 plaid violet bags.
|
||||
drab blue bags contain 4 muted purple bags, 5 bright olive bags.
|
||||
dull turquoise bags contain 5 pale lavender bags, 3 light aqua bags, 3 drab teal bags.
|
||||
striped silver bags contain 4 wavy black bags, 5 plaid magenta bags.
|
||||
striped gold bags contain 3 shiny tomato bags, 2 light fuchsia bags, 1 bright salmon bag.
|
||||
mirrored violet bags contain 4 mirrored blue bags.
|
||||
vibrant red bags contain 4 striped lavender bags, 1 clear fuchsia bag.
|
||||
striped yellow bags contain 3 vibrant red bags.
|
||||
dotted silver bags contain 1 muted blue bag, 3 shiny teal bags, 2 plaid coral bags, 1 dim aqua bag.
|
||||
@@ -0,0 +1,9 @@
|
||||
nop +0
|
||||
acc +1
|
||||
jmp +4
|
||||
acc +3
|
||||
jmp -3
|
||||
acc -99
|
||||
acc +1
|
||||
jmp -4
|
||||
acc +6
|
||||
624
projects/_standalone/aoc/src/year2020/inputs/day8.txt
Normal file
624
projects/_standalone/aoc/src/year2020/inputs/day8.txt
Normal file
@@ -0,0 +1,624 @@
|
||||
acc -7
|
||||
acc +6
|
||||
acc +4
|
||||
nop +191
|
||||
jmp +199
|
||||
acc +44
|
||||
acc -9
|
||||
jmp +505
|
||||
acc -12
|
||||
acc +45
|
||||
jmp +204
|
||||
jmp +129
|
||||
acc +17
|
||||
nop +287
|
||||
jmp +584
|
||||
acc +16
|
||||
jmp +363
|
||||
acc +4
|
||||
nop +142
|
||||
acc +34
|
||||
nop +345
|
||||
jmp +522
|
||||
jmp +53
|
||||
acc -10
|
||||
jmp +524
|
||||
jmp +492
|
||||
jmp +319
|
||||
acc -9
|
||||
jmp +550
|
||||
acc -19
|
||||
jmp +15
|
||||
acc +24
|
||||
jmp +30
|
||||
acc -19
|
||||
acc +12
|
||||
acc -2
|
||||
jmp +274
|
||||
nop +91
|
||||
acc +10
|
||||
acc +4
|
||||
jmp +501
|
||||
acc +49
|
||||
acc +29
|
||||
jmp +488
|
||||
jmp +504
|
||||
jmp +277
|
||||
acc +20
|
||||
acc +34
|
||||
jmp -40
|
||||
acc +10
|
||||
acc -4
|
||||
acc -19
|
||||
acc +38
|
||||
jmp +239
|
||||
acc -16
|
||||
acc -3
|
||||
nop +513
|
||||
jmp +526
|
||||
jmp +131
|
||||
nop +539
|
||||
acc -11
|
||||
jmp +470
|
||||
acc +30
|
||||
jmp +166
|
||||
acc +17
|
||||
acc -16
|
||||
nop +315
|
||||
jmp +364
|
||||
acc +15
|
||||
nop -61
|
||||
acc -12
|
||||
nop +147
|
||||
jmp -31
|
||||
acc -9
|
||||
jmp +324
|
||||
acc +0
|
||||
jmp +1
|
||||
jmp +321
|
||||
acc +0
|
||||
acc +6
|
||||
acc -17
|
||||
acc +13
|
||||
jmp +461
|
||||
jmp +184
|
||||
acc +22
|
||||
jmp +182
|
||||
jmp +504
|
||||
nop +131
|
||||
acc +12
|
||||
acc -6
|
||||
acc +29
|
||||
jmp +187
|
||||
acc +17
|
||||
jmp +67
|
||||
jmp -2
|
||||
acc +50
|
||||
acc +17
|
||||
jmp +442
|
||||
acc +8
|
||||
nop +146
|
||||
acc -12
|
||||
acc +32
|
||||
jmp +237
|
||||
jmp +1
|
||||
acc +34
|
||||
acc +1
|
||||
acc +18
|
||||
jmp +274
|
||||
acc +17
|
||||
acc -12
|
||||
jmp +282
|
||||
acc +49
|
||||
acc +11
|
||||
acc +28
|
||||
acc +40
|
||||
jmp +79
|
||||
acc +19
|
||||
acc -8
|
||||
nop +87
|
||||
jmp +347
|
||||
acc +48
|
||||
nop +189
|
||||
jmp +419
|
||||
acc +31
|
||||
jmp +1
|
||||
acc +31
|
||||
jmp +1
|
||||
jmp -94
|
||||
nop -45
|
||||
nop +412
|
||||
acc -14
|
||||
acc +35
|
||||
jmp -49
|
||||
jmp +177
|
||||
jmp +127
|
||||
jmp +360
|
||||
jmp +114
|
||||
acc -11
|
||||
nop +248
|
||||
jmp -64
|
||||
acc +31
|
||||
acc +23
|
||||
acc +4
|
||||
nop +110
|
||||
jmp +61
|
||||
acc +45
|
||||
nop +444
|
||||
jmp +218
|
||||
jmp -131
|
||||
acc +36
|
||||
jmp -142
|
||||
nop +361
|
||||
acc -3
|
||||
acc +6
|
||||
jmp +161
|
||||
acc +24
|
||||
acc -7
|
||||
acc +4
|
||||
acc +31
|
||||
jmp +91
|
||||
jmp -20
|
||||
jmp +1
|
||||
nop -11
|
||||
jmp -146
|
||||
acc +25
|
||||
acc +33
|
||||
jmp +52
|
||||
acc -7
|
||||
jmp +82
|
||||
acc +7
|
||||
acc +21
|
||||
acc +6
|
||||
jmp +397
|
||||
acc +12
|
||||
acc +5
|
||||
acc -9
|
||||
acc +24
|
||||
jmp +371
|
||||
acc +50
|
||||
acc +47
|
||||
acc +19
|
||||
jmp +238
|
||||
jmp +396
|
||||
acc -16
|
||||
nop +394
|
||||
jmp +180
|
||||
acc +1
|
||||
acc +40
|
||||
jmp +237
|
||||
acc +22
|
||||
nop -30
|
||||
jmp -129
|
||||
acc +22
|
||||
jmp +232
|
||||
acc +23
|
||||
acc +27
|
||||
acc +47
|
||||
jmp +133
|
||||
acc +0
|
||||
nop +30
|
||||
acc +11
|
||||
acc -9
|
||||
jmp +381
|
||||
jmp +75
|
||||
jmp -64
|
||||
acc -15
|
||||
acc +29
|
||||
acc +49
|
||||
jmp +195
|
||||
nop +113
|
||||
acc -16
|
||||
nop +312
|
||||
acc +6
|
||||
jmp -44
|
||||
acc +26
|
||||
acc +40
|
||||
jmp +272
|
||||
jmp +83
|
||||
jmp +365
|
||||
acc +24
|
||||
acc +4
|
||||
jmp +29
|
||||
acc +8
|
||||
jmp -137
|
||||
acc +13
|
||||
jmp +1
|
||||
acc +33
|
||||
nop -182
|
||||
jmp +22
|
||||
jmp +9
|
||||
nop +20
|
||||
acc +14
|
||||
nop +291
|
||||
jmp -28
|
||||
jmp -83
|
||||
acc +18
|
||||
acc +5
|
||||
jmp +32
|
||||
acc +48
|
||||
nop -128
|
||||
acc +28
|
||||
jmp +225
|
||||
acc +29
|
||||
nop +280
|
||||
jmp +304
|
||||
acc +37
|
||||
acc +50
|
||||
acc +30
|
||||
jmp +131
|
||||
jmp -60
|
||||
acc +27
|
||||
jmp +272
|
||||
jmp +358
|
||||
acc -1
|
||||
acc +37
|
||||
jmp +203
|
||||
acc +1
|
||||
acc +37
|
||||
acc +12
|
||||
acc -16
|
||||
jmp +263
|
||||
acc -16
|
||||
acc +30
|
||||
jmp +86
|
||||
acc +26
|
||||
acc +6
|
||||
jmp +344
|
||||
jmp -147
|
||||
jmp -185
|
||||
acc -5
|
||||
acc -3
|
||||
acc +7
|
||||
acc +9
|
||||
jmp -205
|
||||
nop -85
|
||||
acc -4
|
||||
acc -1
|
||||
jmp +266
|
||||
acc +19
|
||||
nop -143
|
||||
acc -3
|
||||
jmp -12
|
||||
acc +12
|
||||
acc -18
|
||||
jmp +326
|
||||
acc +39
|
||||
jmp +165
|
||||
nop -279
|
||||
acc +19
|
||||
acc +46
|
||||
acc +5
|
||||
jmp -163
|
||||
acc -13
|
||||
jmp +1
|
||||
acc +33
|
||||
acc +44
|
||||
jmp -62
|
||||
acc -10
|
||||
acc +7
|
||||
jmp +240
|
||||
acc -19
|
||||
jmp -190
|
||||
acc -12
|
||||
jmp -167
|
||||
acc -2
|
||||
nop -288
|
||||
acc -13
|
||||
jmp +303
|
||||
acc +24
|
||||
jmp -283
|
||||
jmp +309
|
||||
nop +190
|
||||
acc +38
|
||||
acc -12
|
||||
jmp -47
|
||||
acc +15
|
||||
acc +31
|
||||
jmp -259
|
||||
nop +154
|
||||
acc +25
|
||||
acc +8
|
||||
jmp -295
|
||||
acc +37
|
||||
acc +34
|
||||
acc -18
|
||||
acc +41
|
||||
jmp +156
|
||||
acc +17
|
||||
acc +37
|
||||
jmp -243
|
||||
nop -318
|
||||
acc +45
|
||||
acc +33
|
||||
jmp +139
|
||||
acc -6
|
||||
acc +34
|
||||
acc +25
|
||||
acc +3
|
||||
jmp +260
|
||||
jmp +1
|
||||
acc +24
|
||||
jmp +154
|
||||
acc +34
|
||||
acc -19
|
||||
jmp +211
|
||||
acc +28
|
||||
jmp +98
|
||||
acc +45
|
||||
jmp -143
|
||||
acc +41
|
||||
acc +8
|
||||
acc +33
|
||||
nop +217
|
||||
jmp +119
|
||||
acc +21
|
||||
jmp -150
|
||||
acc +25
|
||||
acc +19
|
||||
jmp +1
|
||||
acc +20
|
||||
jmp +209
|
||||
acc +43
|
||||
acc +18
|
||||
acc +2
|
||||
jmp -159
|
||||
acc +25
|
||||
acc +20
|
||||
acc -4
|
||||
acc +45
|
||||
jmp +89
|
||||
nop +33
|
||||
acc +27
|
||||
jmp +190
|
||||
acc +47
|
||||
acc +36
|
||||
jmp +180
|
||||
acc +3
|
||||
jmp +1
|
||||
jmp -349
|
||||
jmp -6
|
||||
jmp -244
|
||||
acc +2
|
||||
acc +42
|
||||
jmp -357
|
||||
acc +3
|
||||
jmp -377
|
||||
acc +31
|
||||
nop -292
|
||||
acc +6
|
||||
acc +9
|
||||
jmp -212
|
||||
jmp -91
|
||||
acc +11
|
||||
jmp +119
|
||||
acc -18
|
||||
acc +38
|
||||
acc +31
|
||||
jmp -261
|
||||
jmp +1
|
||||
acc +2
|
||||
jmp -197
|
||||
acc +0
|
||||
jmp +1
|
||||
acc +40
|
||||
acc +31
|
||||
acc +4
|
||||
acc +45
|
||||
jmp -68
|
||||
acc -17
|
||||
acc +8
|
||||
nop -384
|
||||
jmp -193
|
||||
acc +22
|
||||
nop +170
|
||||
acc -19
|
||||
acc +34
|
||||
jmp -321
|
||||
acc +46
|
||||
jmp +130
|
||||
acc -19
|
||||
jmp +115
|
||||
acc -12
|
||||
acc +23
|
||||
acc +16
|
||||
jmp -94
|
||||
acc +11
|
||||
nop -286
|
||||
jmp -276
|
||||
acc +36
|
||||
acc +25
|
||||
jmp -32
|
||||
acc +6
|
||||
acc +39
|
||||
jmp +171
|
||||
acc -5
|
||||
nop -131
|
||||
jmp -368
|
||||
acc +41
|
||||
acc -7
|
||||
nop -336
|
||||
jmp -428
|
||||
acc +21
|
||||
acc +45
|
||||
jmp -225
|
||||
acc -2
|
||||
acc +14
|
||||
acc +29
|
||||
jmp -439
|
||||
acc +36
|
||||
acc +26
|
||||
jmp -433
|
||||
acc +29
|
||||
acc +36
|
||||
acc +31
|
||||
jmp -232
|
||||
nop -210
|
||||
nop -44
|
||||
jmp -382
|
||||
nop -119
|
||||
acc +43
|
||||
jmp +1
|
||||
jmp -24
|
||||
acc -13
|
||||
acc +22
|
||||
acc +16
|
||||
jmp +90
|
||||
nop -443
|
||||
acc +23
|
||||
acc +15
|
||||
acc -3
|
||||
jmp -225
|
||||
jmp -448
|
||||
acc +21
|
||||
acc -19
|
||||
acc +23
|
||||
jmp +1
|
||||
jmp -447
|
||||
acc +36
|
||||
acc -1
|
||||
acc +31
|
||||
nop +8
|
||||
jmp +97
|
||||
jmp -96
|
||||
acc -16
|
||||
acc +7
|
||||
acc -2
|
||||
jmp +1
|
||||
jmp -237
|
||||
jmp +1
|
||||
acc -12
|
||||
acc +29
|
||||
acc -1
|
||||
jmp -188
|
||||
acc +8
|
||||
jmp -453
|
||||
nop -234
|
||||
acc +46
|
||||
acc +20
|
||||
acc +24
|
||||
jmp -68
|
||||
jmp -178
|
||||
acc +42
|
||||
jmp -469
|
||||
acc +19
|
||||
acc +35
|
||||
jmp -4
|
||||
acc +49
|
||||
jmp +65
|
||||
nop +15
|
||||
nop -209
|
||||
acc +27
|
||||
jmp -261
|
||||
acc +15
|
||||
jmp -344
|
||||
acc +13
|
||||
acc +43
|
||||
jmp -194
|
||||
jmp +1
|
||||
jmp -335
|
||||
nop -424
|
||||
acc -13
|
||||
nop -387
|
||||
jmp -333
|
||||
acc +33
|
||||
acc +30
|
||||
jmp -272
|
||||
acc +16
|
||||
acc +5
|
||||
acc +21
|
||||
acc +41
|
||||
jmp -312
|
||||
acc +50
|
||||
jmp -429
|
||||
nop +57
|
||||
jmp -212
|
||||
acc +7
|
||||
acc -13
|
||||
jmp -252
|
||||
jmp -277
|
||||
jmp -114
|
||||
jmp -528
|
||||
jmp -40
|
||||
jmp -275
|
||||
acc +27
|
||||
nop -322
|
||||
jmp -356
|
||||
acc -11
|
||||
jmp -96
|
||||
nop -9
|
||||
acc -15
|
||||
jmp -194
|
||||
acc +9
|
||||
acc +47
|
||||
acc +44
|
||||
jmp -459
|
||||
acc -2
|
||||
acc -12
|
||||
nop -354
|
||||
jmp -166
|
||||
acc +44
|
||||
acc +23
|
||||
jmp -503
|
||||
acc +47
|
||||
acc +39
|
||||
acc +10
|
||||
acc +14
|
||||
jmp -543
|
||||
acc +43
|
||||
jmp -25
|
||||
jmp -52
|
||||
acc -19
|
||||
jmp -423
|
||||
acc +35
|
||||
acc +22
|
||||
acc +10
|
||||
acc +16
|
||||
jmp -527
|
||||
jmp -482
|
||||
acc +2
|
||||
acc +21
|
||||
acc -17
|
||||
jmp -417
|
||||
jmp -282
|
||||
acc +16
|
||||
nop -424
|
||||
nop -527
|
||||
jmp -207
|
||||
acc +23
|
||||
acc +21
|
||||
jmp -503
|
||||
acc +17
|
||||
acc -14
|
||||
jmp -189
|
||||
acc +43
|
||||
acc +14
|
||||
acc +11
|
||||
nop -427
|
||||
jmp -54
|
||||
acc +8
|
||||
nop -37
|
||||
nop -542
|
||||
jmp -332
|
||||
acc +27
|
||||
jmp +7
|
||||
jmp -98
|
||||
acc +50
|
||||
acc +0
|
||||
acc +48
|
||||
acc +0
|
||||
jmp -517
|
||||
acc +15
|
||||
acc +10
|
||||
jmp -478
|
||||
jmp -141
|
||||
acc +0
|
||||
acc +18
|
||||
jmp -468
|
||||
acc +49
|
||||
jmp -112
|
||||
nop -536
|
||||
acc -14
|
||||
acc -13
|
||||
acc +34
|
||||
jmp +1
|
||||
1000
projects/_standalone/aoc/src/year2020/inputs/day9.txt
Normal file
1000
projects/_standalone/aoc/src/year2020/inputs/day9.txt
Normal file
File diff suppressed because it is too large
Load Diff
6
projects/_standalone/aoc/src/year2021/Day10.hx
Normal file
6
projects/_standalone/aoc/src/year2021/Day10.hx
Normal file
@@ -0,0 +1,6 @@
|
||||
package year2021;
|
||||
|
||||
enum LineType {
|
||||
Incomplete(expected:Array<String>);
|
||||
Corrupt(char:String);
|
||||
}
|
||||
15
projects/_standalone/aoc/src/year2021/Day4.hx
Normal file
15
projects/_standalone/aoc/src/year2021/Day4.hx
Normal file
@@ -0,0 +1,15 @@
|
||||
package year2021;
|
||||
|
||||
import haxe.ds.Option;
|
||||
|
||||
typedef Board = {
|
||||
uncalled:Array<Array<Option<Int>>>,
|
||||
called:Array<Array<Option<Int>>>,
|
||||
won:Bool
|
||||
};
|
||||
|
||||
typedef GameState = {
|
||||
numbersToCall:Array<Int>,
|
||||
boards:Array<Board>,
|
||||
boardsByNumber:Map<Int,Array<Board>>,
|
||||
};
|
||||
10
projects/_standalone/aoc/src/year2021/Day5.hx
Normal file
10
projects/_standalone/aoc/src/year2021/Day5.hx
Normal file
@@ -0,0 +1,10 @@
|
||||
package year2021;
|
||||
|
||||
typedef Line = {
|
||||
x1:Int,
|
||||
y1:Int,
|
||||
x2:Int,
|
||||
y2:Int
|
||||
};
|
||||
|
||||
typedef Point = Array<Int>;
|
||||
22
projects/_standalone/aoc/src/year2021/Solutions2021.hx
Normal file
22
projects/_standalone/aoc/src/year2021/Solutions2021.hx
Normal file
@@ -0,0 +1,22 @@
|
||||
package year2021;
|
||||
|
||||
import kiss.Prelude;
|
||||
import haxe.Constraints;
|
||||
import haxe.ds.Option;
|
||||
import haxe.Int64;
|
||||
import haxe.Int64Helper;
|
||||
import hx.strings.ansi.Ansi;
|
||||
#if day4
|
||||
import year2021.Day4;
|
||||
#end
|
||||
#if day5
|
||||
import year2021.Day5;
|
||||
#end
|
||||
#if day10
|
||||
import year2021.Day10;
|
||||
#end
|
||||
|
||||
using hx.strings.Strings;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class Solutions2021 {}
|
||||
96
projects/_standalone/aoc/src/year2021/Solutions2021.kiss
Normal file
96
projects/_standalone/aoc/src/year2021/Solutions2021.kiss
Normal file
@@ -0,0 +1,96 @@
|
||||
(load "../UtilMacros.kiss")
|
||||
|
||||
(defMacro dictInc [theMap key amount]
|
||||
`(let [&mut theMap ,theMap key ,key amount ,amount &mut count (dictGet theMap key)]
|
||||
(unless count
|
||||
(dictSet theMap key (set count 0i64)))
|
||||
(dictSet theMap key #{count + amount;}#)))
|
||||
|
||||
// Remove and return an arbitrary key-value pair from the given Map
|
||||
(function :Array<Dynamic> dictShift [:Map<String,Dynamic> m]
|
||||
(let [key (.next (m.keys))
|
||||
val (dictGet m key)]
|
||||
(m.remove key)
|
||||
[key val]))
|
||||
|
||||
(function run []
|
||||
(day 1
|
||||
(load "day1.kiss")
|
||||
(assert (= 1475 (countIncreases (Util.readInts "src/year2021/inputs/day1.txt"))))
|
||||
(assert (= 1516 (countIncreases (for trio (slicesOf (Util.readInts "src/year2021/inputs/day1.txt") 3) (apply + trio))))))
|
||||
(day 2
|
||||
(load "day2.kiss")
|
||||
(assert (= 2150351 (apply * (simulateSubCommands (readSubCommands "src/year2021/inputs/day2.txt")))))
|
||||
(assert (= 1842742223 (apply * (simulateSubCommands (readSubCommands "src/year2021/inputs/day2.txt") true)))))
|
||||
(day 3
|
||||
(load "day3.kiss")
|
||||
(let [inputs (Util.readLines "src/year2021/inputs/day3.txt")]
|
||||
(assert (= 845186 (* (rate inputs false) (rate inputs true))))
|
||||
(assert (= 4636702 (* (otherRate inputs false) (otherRate inputs true))))))
|
||||
(day 4
|
||||
(load "day4.kiss")
|
||||
(assert (= 4512 (winningScore "src/year2021/inputs/day4-example.txt")))
|
||||
(assert (= 46920 (winningScore "src/year2021/inputs/day4.txt")))
|
||||
(assert (= 1924 (lastWinningScore "src/year2021/inputs/day4-example.txt")))
|
||||
(assert (= 12635 (lastWinningScore "src/year2021/inputs/day4.txt"))))
|
||||
(day 5
|
||||
(load "day5.kiss")
|
||||
(assert (= 5 (numHotPositions "src/year2021/inputs/day5-example.txt")))
|
||||
(assert (= 7473 (numHotPositions "src/year2021/inputs/day5.txt")))
|
||||
(assert (= 12 (numHotPositions "src/year2021/inputs/day5-example.txt" true)))
|
||||
(assert (= 24164 (numHotPositions "src/year2021/inputs/day5.txt" true))))
|
||||
(day 6
|
||||
(load "day6.kiss")
|
||||
(assert (= "5934" (countAfter "src/year2021/inputs/day6-example.txt" 80)))
|
||||
(assert (= "26984457539" (countAfter "src/year2021/inputs/day6-example.txt" 256)))
|
||||
(assert (= "346063" (countAfter "src/year2021/inputs/day6.txt" 80)))
|
||||
(assert (= "1572358335990" (countAfter "src/year2021/inputs/day6.txt" 256))))
|
||||
(day 7
|
||||
(load "day7.kiss")
|
||||
(assert (= 2 (bestPosToAlignAt (crabPositions "src/year2021/inputs/day7-example.txt"))))
|
||||
(let [positions (crabPositions "src/year2021/inputs/day7.txt")]
|
||||
(assert (= 356958 (fuelToAlignAt (bestPosToAlignAt positions) positions)))
|
||||
(assert (= 105461913 (fuelToAlignAt (bestPosToAlignAt positions true) positions true)))))
|
||||
(dayTodo 8)
|
||||
(day 9
|
||||
(load "day9.kiss")
|
||||
|
||||
// (highlightLowPoints "src/year2021/inputs/day9.txt")
|
||||
(let [exampleLowPoints (lowPoints "src/year2021/inputs/day9-example.txt")]
|
||||
(assert (= 4 (count exampleLowPoints)))
|
||||
(assert (= 9 (count (basinAround (.next (exampleLowPoints.keys)) "src/year2021/inputs/day9-example.txt")))))
|
||||
(let [realLowPoints (lowPoints "src/year2021/inputs/day9.txt")
|
||||
realBasins (for =>lp _ realLowPoints (basinAround lp "src/year2021/inputs/day9.txt"))
|
||||
basinSizes (for b realBasins (count b))]
|
||||
(assert (= 480 (apply + (for =>_ height realLowPoints (+ 1 height)))))
|
||||
(assert (= 1045660 (apply * (.slice (reverse (sort basinSizes)) 0 3))))))
|
||||
(day 10
|
||||
(load "day10.kiss")
|
||||
(assert (= 462693 (apply + (map (map (Util.readLines "src/year2021/inputs/day10.txt") getLineType) score))))
|
||||
(let [completionScores (sort (filter (map (map (Util.readLines "src/year2021/inputs/day10.txt") getLineType) completionScore)))]
|
||||
(assert (= 3094671161 (nth completionScores (Math.floor (/ completionScores.length 2)))))))
|
||||
(day 11
|
||||
(load "day11.kiss")
|
||||
(assert (= 35 (flashesAfter 2 "src/year2021/inputs/day11-example.txt")))
|
||||
(assert (= 1656 (flashesAfter 100 "src/year2021/inputs/day11-example.txt")))
|
||||
(assert (= 1723 (flashesAfter 100 "src/year2021/inputs/day11.txt")))
|
||||
~(firstSimultaneousFlash "src/year2021/inputs/day11.txt"))
|
||||
(day 12
|
||||
(load "day12.kiss")
|
||||
(assert (= 10 .length (allPaths "start" "end" "src/year2021/inputs/day12-example.txt")))
|
||||
(assert (= 36 .length (allPaths "start" "end" "src/year2021/inputs/day12-example.txt" true)))
|
||||
(assert (= 3421 .length (allPaths "start" "end" "src/year2021/inputs/day12.txt")))
|
||||
(assert (= 84870 .length (allPaths "start" "end" "src/year2021/inputs/day12.txt" true))))
|
||||
(dayTodo 13)
|
||||
(dayTodo 14)
|
||||
(dayTodo 15)
|
||||
(dayTodo 16)
|
||||
(dayTodo 17)
|
||||
(dayTodo 18)
|
||||
(dayTodo 19)
|
||||
(dayTodo 20)
|
||||
(dayTodo 21)
|
||||
(dayTodo 22)
|
||||
(dayTodo 23)
|
||||
(dayTodo 24)
|
||||
(dayTodo 25))
|
||||
5
projects/_standalone/aoc/src/year2021/day1.kiss
Normal file
5
projects/_standalone/aoc/src/year2021/day1.kiss
Normal file
@@ -0,0 +1,5 @@
|
||||
(function countIncreases [l]
|
||||
.length (filter (for [a b] (pairs l false) (> b a))))
|
||||
|
||||
(function slicesOf [l size]
|
||||
(for i (range (- l.length (- size 1))) (l.slice i (+ i size))))
|
||||
36
projects/_standalone/aoc/src/year2021/day10.kiss
Normal file
36
projects/_standalone/aoc/src/year2021/day10.kiss
Normal file
@@ -0,0 +1,36 @@
|
||||
(function :LineType getLineType [:String line]
|
||||
(let [expected []]
|
||||
(doFor char (line.split "")
|
||||
(case char
|
||||
("(" (expected.push ")"))
|
||||
("[" (expected.push "]"))
|
||||
("{" (expected.push "}"))
|
||||
("<" (expected.push ">"))
|
||||
((when (= (last expected) c) c)
|
||||
(expected.pop))
|
||||
(otherwise
|
||||
(return (Corrupt char)))))
|
||||
(Incomplete expected)))
|
||||
|
||||
(function score [:LineType line]
|
||||
(case line
|
||||
((Corrupt ")") 3)
|
||||
((Corrupt "]") 57)
|
||||
((Corrupt "}") 1197)
|
||||
((Corrupt ">") 25137)
|
||||
(otherwise 0)))
|
||||
|
||||
(function completionScore [:LineType line]
|
||||
(let [&mut :Float score 0]
|
||||
(case line
|
||||
((Incomplete expected)
|
||||
(doFor char (reverse expected)
|
||||
(*= score 5)
|
||||
(+= score (case char
|
||||
(")" 1)
|
||||
("]" 2)
|
||||
("}" 3)
|
||||
(">" 4)
|
||||
(otherwise (throw ""))))))
|
||||
(otherwise))
|
||||
(if (= score 0) null score)))
|
||||
52
projects/_standalone/aoc/src/year2021/day11.kiss
Normal file
52
projects/_standalone/aoc/src/year2021/day11.kiss
Normal file
@@ -0,0 +1,52 @@
|
||||
(function readGrid [file]
|
||||
(for line (Util.readLines file) (map (line.split "") Std.parseInt)))
|
||||
|
||||
(function :Array<Array<Int>> neighboringPoints [:Array<Int> point]
|
||||
(let [[col row] point]
|
||||
(apply concat (for c (range (- col 1) (+ col 2))
|
||||
(for r (range (- row 1) (+ row 2)) [c r])))))
|
||||
|
||||
// Return true if any new flashes were triggered, so handleFlashes can be called again
|
||||
(function :Bool handleFlashes [:Array<Array<Int>> grid]
|
||||
(let [&mut newFlash false]
|
||||
(doFor row (range grid.length)
|
||||
(doFor col (range .length (first grid))
|
||||
(when (<= 10 (nth (nth grid row) col))
|
||||
(set newFlash true)
|
||||
(setNth (nth grid row) col 0)
|
||||
(doFor [c r] (neighboringPoints [col row])
|
||||
(when (and
|
||||
(< c .length (first grid))
|
||||
(>= c 0)
|
||||
(< r grid.length)
|
||||
(>= r 0)
|
||||
!(= 0 (nth (nth grid r) c)))
|
||||
(setNth (nth grid r) c (+ 1 (nth (nth grid r) c))))))))
|
||||
newFlash))
|
||||
|
||||
(function _stepGrid [:Array<Array<Int>> grid]
|
||||
(let [newGrid
|
||||
(for line grid (for octo line (+ octo 1)))]
|
||||
(while (handleFlashes newGrid) 0)
|
||||
newGrid))
|
||||
(var stepGrid (memoize _stepGrid))
|
||||
|
||||
(function _flashes [:Array<Array<Int>> grid]
|
||||
(apply + (for line grid (count line ->num ?(= num 0)))))
|
||||
(var flashes (memoize _flashes))
|
||||
|
||||
(function flashesAfter [steps file]
|
||||
(let [&mut grid (readGrid file)
|
||||
&mut :Float f 0]
|
||||
(doFor i (range steps)
|
||||
(set grid (stepGrid grid))
|
||||
(+= f (flashes grid)))
|
||||
f))
|
||||
|
||||
(function firstSimultaneousFlash [file]
|
||||
(let [&mut grid (readGrid file)
|
||||
&mut step 0]
|
||||
(until (= (* grid.length .length (nth grid 0)) (flashes grid))
|
||||
(set grid (stepGrid grid))
|
||||
(+= step 1))
|
||||
step))
|
||||
48
projects/_standalone/aoc/src/year2021/day12.kiss
Normal file
48
projects/_standalone/aoc/src/year2021/day12.kiss
Normal file
@@ -0,0 +1,48 @@
|
||||
(function link [from to :Map<String,Array<String>> m]
|
||||
(unless (m.exists from)
|
||||
(dictSet m from []))
|
||||
(.push (dictGet m from) to))
|
||||
|
||||
(function pathsMap [file]
|
||||
(let [:Map<String,Array<String>> m (new Map)]
|
||||
(doFor line (Util.readLines file)
|
||||
(let [[from to] (line.split "-")]
|
||||
(link from to m)
|
||||
(link to from m)))
|
||||
m))
|
||||
|
||||
(function :Array<kiss.List<String>> allPaths [start end file &opt part2]
|
||||
(let [pMap (pathsMap file)
|
||||
&mut :Array<kiss.List<String>> paths [[start]]
|
||||
&mut :Array<Map<String,Bool>> pathsVisited []
|
||||
&mut :Array<Bool> pathsDoubleVisited [false]
|
||||
:Array<kiss.List<String>> finishedPaths []]
|
||||
(let [pathVisited (new Map)]
|
||||
(dictSet pathVisited start true)
|
||||
(pathsVisited.push pathVisited))
|
||||
(while paths
|
||||
(let [:Array<kiss.List<String>> nextPaths []
|
||||
:Array<Map<String,Bool>> nextPathsVisited []
|
||||
:kiss.List<Bool> nextPathsDoubleVisited []]
|
||||
(while paths
|
||||
(let [path (paths.pop)
|
||||
pathVisited (pathsVisited.pop)
|
||||
pathDoubleVisited (pathsDoubleVisited.pop)
|
||||
position (last path)]
|
||||
(when (= end position)
|
||||
(finishedPaths.push path)
|
||||
(continue))
|
||||
(doFor nextPosition (dictGet pMap position)
|
||||
(let [alreadyVisited (dictGet pathVisited nextPosition)]
|
||||
(when (or !alreadyVisited (and part2 !pathDoubleVisited !(= nextPosition start)))
|
||||
(nextPathsDoubleVisited.push pathDoubleVisited)
|
||||
(when alreadyVisited (setNth nextPathsDoubleVisited -1 alreadyVisited))
|
||||
(nextPaths.push (concat (path.copy) [nextPosition]))
|
||||
(let [nextPathVisited (pathVisited.copy)]
|
||||
(when (nextPosition.isLowerCase)
|
||||
(dictSet nextPathVisited nextPosition true))
|
||||
(nextPathsVisited.push nextPathVisited)))))))
|
||||
(set paths nextPaths)
|
||||
(set pathsVisited nextPathsVisited)
|
||||
(set pathsDoubleVisited nextPathsDoubleVisited)))
|
||||
finishedPaths))
|
||||
34
projects/_standalone/aoc/src/year2021/day2.kiss
Normal file
34
projects/_standalone/aoc/src/year2021/day2.kiss
Normal file
@@ -0,0 +1,34 @@
|
||||
(defMacro readSubCommands [file &builder b]
|
||||
(let [s (Stream.fromFile (eval file))
|
||||
commands []]
|
||||
(until (s.isEmpty)
|
||||
(commands.push (b.call (read s) [(read s)]))
|
||||
(s.dropWhitespace))
|
||||
`(lambda [] ,(b.begin commands))))
|
||||
|
||||
(var &mut :Int subX)
|
||||
(var &mut :Int subY)
|
||||
|
||||
(function simulateSubCommands [commands &opt fixed]
|
||||
(set subX 0)
|
||||
(set subY 0)
|
||||
(set aim 0)
|
||||
(set forward (if fixed forward2 forward1))
|
||||
(set down (if fixed down2 down1))
|
||||
(set up (if fixed up2 up1))
|
||||
(commands)
|
||||
[subX subY])
|
||||
|
||||
(var &mut :Function forward)
|
||||
(var &mut :Function down)
|
||||
(var &mut :Function up)
|
||||
|
||||
(function forward1 [x] (+= subX x))
|
||||
(function down1 [x] (+= subY x))
|
||||
(function up1 [x] (-= subY x))
|
||||
|
||||
(function forward2 [x] (+= subX x) (+= subY (* aim x)))
|
||||
(function down2 [x] (+= aim x))
|
||||
(function up2 [x] (-= aim x))
|
||||
|
||||
(var &mut :Int aim)
|
||||
40
projects/_standalone/aoc/src/year2021/day3.kiss
Normal file
40
projects/_standalone/aoc/src/year2021/day3.kiss
Normal file
@@ -0,0 +1,40 @@
|
||||
// Silly but fun implementation of a binary->decimal conversion
|
||||
(function :Int binaryStringToDecimal [:String binary &opt :Bool invert]
|
||||
(apply +
|
||||
(for [idx digit] (enumerate (reverse (binary.split "")))
|
||||
(*
|
||||
(let [digit (Std.parseInt digit)] (if invert (- 1 digit) digit))
|
||||
(^ 2 idx)))))
|
||||
|
||||
(assert (= 22 (binaryStringToDecimal "10110")))
|
||||
(assert (= 9 (binaryStringToDecimal "10110" true)))
|
||||
|
||||
(function :String mostCommonBit [:String binary &opt :String tieBreaker]
|
||||
(let [&mut ones 0.0
|
||||
&mut total 0.0]
|
||||
(doFor digit (binary.split "")
|
||||
(+= total 1)
|
||||
(case digit
|
||||
("1" (+= ones 1))
|
||||
(otherwise)))
|
||||
(if (and tieBreaker (= ones (/ total 2)))
|
||||
tieBreaker
|
||||
(Std.string (Math.round (/ ones total))))))
|
||||
|
||||
(function :Int rate [:Array<String> inputs :Bool epsilon]
|
||||
(binaryStringToDecimal
|
||||
(.join
|
||||
(for idx (range .length (first inputs))
|
||||
(mostCommonBit (.join (for input inputs (input.charAt idx)) "")))
|
||||
"")
|
||||
epsilon))
|
||||
|
||||
// Part 2
|
||||
(function :Int otherRate [:Array<String> inputs :Bool co2]
|
||||
(doFor idx (range .length (first inputs))
|
||||
(let [mcb (mostCommonBit (.join (for input inputs (input.charAt idx)) "") "1")
|
||||
o2filter ->input (= (input.charAt idx) mcb)
|
||||
co2Filter ->input !(o2filter input)]
|
||||
(set inputs (filter inputs (if co2 co2Filter o2filter))))
|
||||
(when (= 1 inputs.length) (return (binaryStringToDecimal (first inputs)))))
|
||||
null)
|
||||
75
projects/_standalone/aoc/src/year2021/day4.kiss
Normal file
75
projects/_standalone/aoc/src/year2021/day4.kiss
Normal file
@@ -0,0 +1,75 @@
|
||||
(function :GameState readState [file]
|
||||
(let [lines (filter (Util.readLines file))
|
||||
:Map<Int,Array<Board>> boardsByNumber (new Map)]
|
||||
(objectWith
|
||||
[
|
||||
numbersToCall (map (.split (lines.shift) ",") Std.parseInt)
|
||||
boards (for group (groups lines 5)
|
||||
(let [numbers (map (apply concat (for line group (filter (line.split " ")))) Std.parseInt)
|
||||
board (object
|
||||
uncalled (for line (groups numbers 5) (for number line (Some number)))
|
||||
called (for y (range 5) (for x (range 5) None))
|
||||
won false)]
|
||||
(doFor number numbers
|
||||
(unless (boardsByNumber.exists number) (dictSet boardsByNumber number []))
|
||||
(.push (dictGet boardsByNumber number) board))
|
||||
board))
|
||||
]
|
||||
boardsByNumber)))
|
||||
|
||||
// Return true if the board wins as a result of the given number being called
|
||||
(function :Bool stepBoard [:Board board numberCalled]
|
||||
(doFor [y row] (enumerate board.uncalled)
|
||||
(doFor [x square] (enumerate row)
|
||||
(whenLet [(when (= numberCalled number) (Some number)) square]
|
||||
(setNth row x None)
|
||||
(setNth (nth board.called y) x (Some number)))))
|
||||
(boardWon board))
|
||||
|
||||
(function :Bool boardWon [:Board board]
|
||||
(let [:Array<Array<Option<Int>>> linesOfFive
|
||||
(cast (concat
|
||||
board.called
|
||||
(for x (range 5) (for row board.called (nth row x)))))]
|
||||
(doFor line linesOfFive
|
||||
(let [&mut won true]
|
||||
(doFor square line
|
||||
(case square
|
||||
(None (set won false) (break))
|
||||
(otherwise)))
|
||||
(when won (return true))))
|
||||
(return false)))
|
||||
|
||||
// Return the winning score(s) when a board(s) win
|
||||
(function :Null<Array<Int>> stepState [:GameState state]
|
||||
// Keep returning the last score if there are no more numbers to call
|
||||
(let [numberCalled (state.numbersToCall.shift)
|
||||
winningScores []]
|
||||
(when (state.boardsByNumber.exists numberCalled)
|
||||
(doFor board (dictGet state.boardsByNumber numberCalled)
|
||||
(unless board.won
|
||||
(when (stepBoard board numberCalled)
|
||||
(set board.won true)
|
||||
(winningScores.push (boardScore board numberCalled))))))
|
||||
winningScores))
|
||||
|
||||
(function :Int boardScore [:Board board numberCalled]
|
||||
(* numberCalled (apply + (for row board.uncalled (apply + (for square row (case square ((Some v) v) (otherwise 0))))))))
|
||||
|
||||
(function winningScore [file]
|
||||
(let [state (readState file)]
|
||||
(loop
|
||||
// Assume that for potential solutions to the AOC problem, only one board wins at a time.
|
||||
(whenLet [[score] (stepState state)]
|
||||
(return score))))
|
||||
(throw ""))
|
||||
|
||||
(function lastWinningScore [file]
|
||||
(let [state (readState file)
|
||||
&mut finishedBoards 0]
|
||||
(loop
|
||||
(whenLet [winningScores (stepState state)]
|
||||
(+= finishedBoards winningScores.length)
|
||||
(when (= finishedBoards state.boards.length)
|
||||
(return (first winningScores))))))
|
||||
(throw ""))
|
||||
40
projects/_standalone/aoc/src/year2021/day5.kiss
Normal file
40
projects/_standalone/aoc/src/year2021/day5.kiss
Normal file
@@ -0,0 +1,40 @@
|
||||
(function :Array<Line> parseLines [file]
|
||||
(for textLine (Util.readLines file)
|
||||
(let [[p1 p2] (textLine.split " -> ")
|
||||
[x1 y1] (map (p1.split ",") Std.parseInt)
|
||||
[x2 y2] (map (p2.split ",") Std.parseInt)]
|
||||
(objectWith x1 y1 x2 y2))))
|
||||
|
||||
// An inclusive range whose start may be greater than its end
|
||||
(function :Array<Int> inclusiveRange [start end]
|
||||
(let [s (min start end)
|
||||
e (max start end)]
|
||||
(let [r (collect (range s (+ e 1)))]
|
||||
(if (> start end)
|
||||
(reverse r)
|
||||
r))))
|
||||
|
||||
(function :Array<Point> pointsCoveredBy [:Line line :Bool part2]
|
||||
(cond
|
||||
((= line.x1 line.x2)
|
||||
(for y (inclusiveRange line.y1 line.y2) [line.x1 y]))
|
||||
((= line.y1 line.y2)
|
||||
(for x (inclusiveRange line.x1 line.x2) [x line.y1]))
|
||||
// Diagonal lines:
|
||||
(part2
|
||||
(cast (zipThrow (inclusiveRange line.x1 line.x2) (inclusiveRange line.y1 line.y2))))
|
||||
(true
|
||||
[])))
|
||||
|
||||
(function :Map<String,Int64> ventsByPos [file :Bool part2]
|
||||
(let [lines (parseLines file)
|
||||
:Map<String,Int64> theMap (new Map)]
|
||||
(doFor line lines
|
||||
(doFor point (pointsCoveredBy line part2)
|
||||
(dictInc theMap (Std.string point) 1)))
|
||||
theMap))
|
||||
|
||||
(function :Int numHotPositions [file &opt :Bool part2]
|
||||
(let [theMap (ventsByPos file ?part2)
|
||||
two (Int64Helper.fromFloat 2)]
|
||||
(count theMap ->vents #{ vents >= two; }#)))
|
||||
35
projects/_standalone/aoc/src/year2021/day6.kiss
Normal file
35
projects/_standalone/aoc/src/year2021/day6.kiss
Normal file
@@ -0,0 +1,35 @@
|
||||
// Store the simulation state in a map of age => count.
|
||||
(function :Map<Int,Int64> ageMap [:String file]
|
||||
(let [:Array<Int> list (map (.split (first (Util.readLines file)) ",") Std.parseInt)
|
||||
:Map<Int,Int64> theMap (new Map)]
|
||||
// special key -1 corresponds to total count
|
||||
(dictSet theMap -1 (Int64Helper.fromFloat list.length))
|
||||
(doFor age (range 9)
|
||||
(dictSet theMap age 0i64))
|
||||
(doFor age list
|
||||
(let [count (dictGet theMap age)
|
||||
one 1i64]
|
||||
(dictSet theMap age #{count + one;}#)))
|
||||
theMap))
|
||||
|
||||
(function :Map<Int,Int64> stepAgeMap [:Map<Int,Int64> theMap]
|
||||
// Lanternfish are guaranteed to be between 0-8 years old
|
||||
(let [:Map<Int,Int64> newMap (new Map)]
|
||||
(dictSet newMap -1 (dictGet theMap -1))
|
||||
(doFor age (range 9)
|
||||
(let [count (dictGet theMap age)]
|
||||
(case age
|
||||
// Lanternfish giving birth:
|
||||
(0
|
||||
(dictInc newMap 8 count)
|
||||
(dictInc newMap -1 count)
|
||||
(dictInc newMap 6 count))
|
||||
(otherwise
|
||||
(dictInc newMap (- age 1) count)))))
|
||||
newMap))
|
||||
|
||||
(function :String countAfter [file days]
|
||||
(let [&mut ageMap (ageMap file)]
|
||||
(doFor i (range days)
|
||||
(set ageMap (stepAgeMap ageMap)))
|
||||
(Int64.toStr (dictGet ageMap -1))))
|
||||
32
projects/_standalone/aoc/src/year2021/day7.kiss
Normal file
32
projects/_standalone/aoc/src/year2021/day7.kiss
Normal file
@@ -0,0 +1,32 @@
|
||||
(function crabPositions [file]
|
||||
(map (.split (first (Util.readLines file)) ",") Std.parseInt))
|
||||
|
||||
(function :Int summation [n]
|
||||
(/ (* n (+ 1 n)) 2))
|
||||
|
||||
(function :Int fuelToAlignAt [x :Array<Int> positions &opt :Bool part2]
|
||||
(apply + (for crabX positions
|
||||
(let [distance (Math.abs (- x crabX))]
|
||||
(if part2
|
||||
(summation distance)
|
||||
distance)))))
|
||||
|
||||
(function :Int bestPosToAlignAt [:Array<Int> positions &opt :Bool part2]
|
||||
(let [&mut minX (apply min positions)
|
||||
&mut maxX (apply max positions)]
|
||||
(loop
|
||||
(let [middleX (Math.floor (/ (+ minX maxX) 2))
|
||||
middleFuel (fuelToAlignAt middleX positions ?part2)
|
||||
leftBy1Fuel (fuelToAlignAt (- middleX 1) positions ?part2)
|
||||
rightBy1Fuel (fuelToAlignAt (+ middleX 1) positions ?part2)]
|
||||
~[minX middleX maxX]
|
||||
(cond
|
||||
((= minX middleX maxX)
|
||||
(throw ""))
|
||||
((< middleFuel (min leftBy1Fuel rightBy1Fuel))
|
||||
(return middleX))
|
||||
((< leftBy1Fuel middleFuel)
|
||||
(set maxX middleX))
|
||||
((< rightBy1Fuel middleFuel)
|
||||
(set minX middleX)))))
|
||||
(throw "")))
|
||||
78
projects/_standalone/aoc/src/year2021/day9.kiss
Normal file
78
projects/_standalone/aoc/src/year2021/day9.kiss
Normal file
@@ -0,0 +1,78 @@
|
||||
(function :Map<String,Int> pointMap [file]
|
||||
(let [:Map<String,Int> m (new Map)
|
||||
lines (Util.readLines file)]
|
||||
(for [y line] (enumerate lines)
|
||||
(for [x tile] (enumerate (line.split ""))
|
||||
(dictSet m (mapKey [x y]) (Std.parseInt tile))))
|
||||
m))
|
||||
|
||||
(function :String mapKey [:Array<Int> coords]
|
||||
"$(first coords),$(second coords)")
|
||||
|
||||
(function :Array<Int> coordinates [:String key]
|
||||
(map (key.split ",") Std.parseInt))
|
||||
|
||||
(function :Array<String> adjacentPoints [:String key]
|
||||
(let [[x y] (coordinates key)]
|
||||
(map
|
||||
[
|
||||
[(+ x 1) y]
|
||||
[(- x 1) y]
|
||||
[x (+ y 1)]
|
||||
[x (- y 1)]
|
||||
]
|
||||
mapKey)))
|
||||
|
||||
(function :Map<String,Int> adjacentPointMap [:String key :Map<String,Int> allPoints]
|
||||
(let [:Map<String,Int> m (new Map)]
|
||||
(doFor point (adjacentPoints key)
|
||||
(whenLet [h (dictGet allPoints point)]
|
||||
(dictSet m point h)))
|
||||
m))
|
||||
|
||||
(function :Map<String,Int> lowPoints [file]
|
||||
(let [allPoints (pointMap file)
|
||||
pointsToCheck (pointMap file)
|
||||
:Map<String,Int> lowPoints (new Map)]
|
||||
(while !(= 0 (count pointsToCheck))
|
||||
(let [[key height] (dictShift pointsToCheck)
|
||||
adj (adjacentPointMap key allPoints)
|
||||
&mut isLow true]
|
||||
(doFor =>adjKey adjHeight adj
|
||||
(cond
|
||||
((> adjHeight height)
|
||||
(pointsToCheck.remove adjKey))
|
||||
((<= adjHeight height)
|
||||
(set isLow false))))
|
||||
(when isLow (dictSet lowPoints key height))))
|
||||
lowPoints))
|
||||
|
||||
(function :Map<String,Int> basinAround [:String lowPoint file &opt :Map<String,Int> basinAlready :Map<String,Int> allPoints :Map<String,Int> pointsToCheck]
|
||||
(set allPoints (or allPoints (pointMap file)))
|
||||
(set pointsToCheck (or pointsToCheck (pointMap file)))
|
||||
(set basinAlready (or basinAlready (new Map<String,Int>)))
|
||||
(dictSet basinAlready lowPoint (dictGet allPoints lowPoint))
|
||||
(pointsToCheck.remove lowPoint)
|
||||
|
||||
(doFor =>point _ (adjacentPointMap lowPoint allPoints)
|
||||
(whenLet [(when (< h 9) h) (dictGet pointsToCheck point)]
|
||||
(basinAround point file basinAlready allPoints pointsToCheck)))
|
||||
|
||||
basinAlready)
|
||||
|
||||
(function :Void highlightLowPoints [file]
|
||||
(let [writer (Ansi.writer (Sys.stdout))
|
||||
m (lowPoints file)
|
||||
lines (Util.readLines file)
|
||||
&mut isRed false]
|
||||
(doFor [y line] (enumerate lines)
|
||||
(doFor [x height] (enumerate (line.split ""))
|
||||
(if (m.exists (mapKey [x y]))
|
||||
(unless isRed
|
||||
(writer.fg RED)
|
||||
(set isRed true))
|
||||
(when isRed
|
||||
(writer.fg WHITE)
|
||||
(set isRed false)))
|
||||
(writer.write height))
|
||||
(writer.write "\n"))))
|
||||
2000
projects/_standalone/aoc/src/year2021/inputs/day1.txt
Normal file
2000
projects/_standalone/aoc/src/year2021/inputs/day1.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
[({(<(())[]>[[{[]{<()<>>
|
||||
[(()[<>])]({[<{<<[]>>(
|
||||
{([(<{}[<>[]}>{[]{[(<()>
|
||||
(((({<>}<{<{<>}{[]{[]{}
|
||||
[[<[([]))<([[{}[[()]]]
|
||||
[{[{({}]{}}([{[{{{}}([]
|
||||
{<[[]]>}<{[{[{[]{()[[[]
|
||||
[<(<(<(<{}))><([]([]()
|
||||
<{([([[(<>()){}]>(<<{{
|
||||
<{([{{}}[<[[[<>{}]]]>[]]
|
||||
90
projects/_standalone/aoc/src/year2021/inputs/day10.txt
Normal file
90
projects/_standalone/aoc/src/year2021/inputs/day10.txt
Normal file
@@ -0,0 +1,90 @@
|
||||
({[[{{({<<<<(<{}()><()[]>)[([]{}){<>[]}]><[{<>()}{<><>}]<(()[])([]<>)>>>){<([(())<()<>>][{{}{}}[(){
|
||||
({{<{<<(([({<[[]()]<()<>>>{(()())(<>())}}[{[(){}]}(<{}[]>[<>])])<[[[{}()](<>{})]]<<{{}()}[<>]>[({})[{}()]]>>
|
||||
<[<{{<<{[{{([(())<{}{}>][{<><>}(<><>)])}}]((<(<{[]<>}>(<()()>[[]()]))>))}([(<<({[]()})>(({[][]}([]{})){(()()
|
||||
({<{{{{<<{([{[<>()][<>()]}[((){})([]())]])[[<[()()]<()<>>>[{<>()}{(){}}]][[{<>{}}[{}[]]][([]())[{}()
|
||||
[((<[[{<[<{[<[<>[]]<(){}>><(()[])(()())>]((<<>{}>[<><>]){[()<>]{{}<>}})}>]<<[<[<()()>](({}{})(
|
||||
[{{([([[<([[<[()()][()<>]>][<<{}{}>[<>{}]>(((){}){[][]})]][<[<()()><{}()>](<<><>><[]{}>)><<<<>()><{}<>>>(([](
|
||||
<{[{(<{<[[{{{[[]{}]<{}<>>>{{{}()}<[]<>>}}([(()[])]{[{}<>][<>()]})}((<(<>{})<<>[]>>[[{}[]][{}{}]])
|
||||
[<[<(<{[<([({(<>())[{}()]}[[<><>]])]){<{(((){})[{}<>])<<<>[]>(()[])>}(<([]{})<<>[]>><[{}<>][{}()]>)><<({(
|
||||
(([{[<[{{[<[{{{}{}}<[]{}>}[[{}{}]{(){}}]][(<{}()>([][])){<<><>>({}[])}]>[(<(<>{})<<>{}>><{(){}}[
|
||||
<<[{[{[(<(<({{[]{}}[<>]])[{{[]{}}{[]()}}(<<>{}>[<>{}])]>{{(<{}[]>[{}[]])<{[]{}}<[]<>>>}{<{{}[]}([](
|
||||
({<<<[[({(<{{<{}()><()<>>}[{[]{}}<[]<>>]}>[<({<>{}}[[]<>])(<(){}>{[]<>})>[[(()()}(<>[])][(<><>)<{}
|
||||
[(<[{[[(<{({<[[]<>]><<()[]>[{}()]>}([{<>}<[]<>>]({{}()}<{}{}>])){({(()[])([][])}<<{}{}>({}{})
|
||||
{(<<<(([[((<(<()<>>{(){}}){{{}[]}{{}()}}><(({}){<>()})<((){})({}())>>))][[{[<[<>[]]{(){}}>](
|
||||
{[<((<[[[<<[[<{}<>>{[]()}]<[{}<>][[]{}]>]{<<{}>[()[]]>{[<><>][<>]}}>{{{{{}()}}[{[]<>}<<><>>]}}>]<
|
||||
([(<[[<({{[([{[]()}{<>()}]{[()<>]<<>{}>})({{()()]([]<>)})]{<((<>())[[][]])[[()<>][<>[]]]>}}}{{[[(<<><>>
|
||||
<({{({<([[({<{[][]}[{}[]]>}([(<>[])((){})]([[]<>]([]{}))))}({{<<[][]>[()()]>[<()[]>{<>{}}]}[{[{}{}]
|
||||
<<<[<<(<(<{{[[()()]{[][]>]<<[]()><[]<>>>}[{(<>()){<><>}}[<()<>>[[]<>]]]}>{(<(<<>>[<><>])([
|
||||
[[{({[<{(([<<[<>()](<><>)>{({}<>)(()[])}>{(({}<>){{}<>})}]([<[()[]]>><[(<>[])[<>()]]>)))[{{(({
|
||||
[<[<[{{[{{(([{()[]}{<><>}]<[{}()]({}{})>)([{()<>}{[][]}]({<><>}([]<>))))<<{<{}{}]}<(<>())([]
|
||||
([(<{<{([<[((<()<>>{[][]}))([<<><>><[]{}>]({()[]}(<>())))]([<[[]<>](())><[(){}]{()[]}>]{[[[]
|
||||
[{[{({{[[(([[<{}()]{{}{}}]]){([([][])([]<>)]<[()<>](<>())>){[<(){}>[<>()]]{[{}<>][{}<>]}}})(<[<{()()}([]<>)
|
||||
(({<[<[<{({[(<[]<>>{(){}})[<[][]>([]{})]]{<<<>{}>(()<>)>[[()[]]}}})}{<<<((()<>)[{}{}]){<<>{}>[<>()]}><<
|
||||
<[{[<[([[{{<{(<><>)[{}[]]}<<<>{}><{}()>>>}}{<<(({}[])([]{})}{(<>{}){[]<>}}>((([]<>)<{}()>){{{}<>}})><<<<
|
||||
[<[([[{({(<<<(<>())>(([]())[<>{}])><<<[]()>[()<>]><(<>){<>{}>>>><({[[]{}]<{}[]>}([<>{}][{}<>
|
||||
{(<[<<(<[({(({[]()}<[]{}>)({[]<>}{<><>})){<(()[]){[][]}>([()]<<>()>)}}{{((<>())[()]){[{}<>]<<>
|
||||
(<{{<(({{{<[[([]()>]<{<>()}[{}{}]>]>[([[()<>](<>())][{<>{}}<[][]>])<[<()[]>]({()[]}[[]()])>]}}}))>[[<
|
||||
((({{<[{[((<(<[][]>([]())){[()<>][{}{}]}>){<{{<><>}<<><>>}<([]<>)>>{([{}()][()[]])}})<[<{{<>}[[][]]}[[()[]]
|
||||
([<((<(<{<{{[<[]<>>{(){}}](<{}[]>(()[]))}}>}>)<{([{<<{()()}{()[]}>[{{}()}({}[])]><[[{}[]](<>())]{[()(
|
||||
<<[<<(({({((([[][]]<[]{}>)<({}<>){()()}>)[<[{}<>][[]()]>{<[]()><<>>}])})}{(([[[<[][]><[]{}>](<{}[]>{
|
||||
<<[(<<(((<([[{()()}<(){}>]({()<>}[()<>])][{((){})(<><>)}{<<>[]>({}{})}]){(<{()[]}[<>()]>)<({<><>}){[
|
||||
{(<[{([<(<[(({<>()})<[{}<>]{()<>}>)(([<>()]{[][]}))]{[<{[]{}}>[(()<>)])(<({}{})><[{}<>]{<><>}>)
|
||||
{((<{[<{{[[{(<<>[]>{{}[]})}{[({}<>)[<>[]]]}]]<[[[[()]{{}<>)]{({}()){[][]}}]<[{<><>}<[][]>]((<>
|
||||
{(<({[<<<(<<{[{}{}]}([[]()]({}[]))>(({<>()}<[]>)<{{}()}{{}{}}>}>)(<{{[()[]]{()}}(<<>()>{[]<>})}>)>[([[<{<
|
||||
(<<[<<[(([[{({()}[<>[]])}][<(<[][]>{(){}})>(<<{}{}>{{}[]}>[({}<>)<<>[]>])]]))]((({[{{<[]{}>{{}()}}[([][])({}<
|
||||
(({{<({<{{(<<{<>{}}{()[]}><[(){}][()[]]>><[<<>[]>{{}}](<()[]>{[]{}})>)}<{<([()<>]{<>{}})[([
|
||||
(<<[<{<{{<(({({}())([]{})}<({}())>)[[({}{})[<>()]]]>{{<{{}{}}<{}()>>(({}{})[{}{}])}}>({({<<
|
||||
[[{([{<<<{<({[()[]][{}()]})>[{[({}{})[()()]](<<>()><<>[]>)}<(<<><>><[]{}>)<(<><>)<[]()>>>]}>>>}])}({(<<[[
|
||||
(<{(<<({[[{({{{}{}}[<>()>}[[<><>]])}]<{(<{()<>}{[]()}>[([][])[{}[]]])<[[<>][(){}]]{<[][]>([]{})}>}[((<<><>
|
||||
<(({[(<<[<[[{{()()}(<>())}(<[][]><<><>>)]][[(<[]>[<>[]])([[]{}]{<>()})]{{[[]{}](<>[])}({()()}([]()))}]>]({({
|
||||
<<([<(((<{{[(<<>()>(()[])){{[]<>}<[]{}>}]<{[<>()][(){}]}>}<<[<{}<>>]>{([<><>]{<><>}){{{}[]
|
||||
(([{[[[<{[{[[[()()]<()>]<[{}{}][(){}]>]}]}{[<{{[()<>][()[]]}}[{{()()}}[[<>[]][{}()]]])<<({<>()}<{}()>)>({([
|
||||
{[(<{{({[{{[{([]>({}<>)}<<{}[]>>][[{(){}}[<><>]]{<(){}>({}())}]}}[{([({}()){()[]}]{({})<[]<>>})[[[[]<>]]([<>
|
||||
(([{[({{<([[([[]{}]<()[]>)(<<>>[<>[]])]{[{()()}<{}{}>](<{}()>([]{})>}])<[<{{<>{}}}<[<>[]]>>{[{[]
|
||||
{({<<({<<<<{(([]()))(<<>()>)}({<()<>>{{}{}}})>[{[(<>)]{<[][]>[{}()]}}]>({[[[{}[]]({}[])]]})>>{{
|
||||
[(<[<((<[(([((<><>)([]{})){([][])[()()]}]<{{{}{}}{(){}}}>)<{{({}{})<()>}({()()}[[]{}])}<[[<>()]{()<>}>({<>}
|
||||
<{{[(({{<((<({[]{}}(()()))[[{}{}]{{}<>}]>[([<>[]>(()<>))]))[[([{<><>}<<>[]>][[()<>]([][])]){<((){}){{}[
|
||||
((<[({<<({{[<[(){}](<><>)>[{[][]}[{}[]]]]}<([(<><>){[]{}}])([[()()]<()[]>])>}(([[[[]()]{{}{}}]{[{}<>]{()
|
||||
(({{[<<<[[{<<[<><>]<{}<>>>[<<>()>(<>{})]>}<{(<()()><{}()>)<([]())[<>{}]>}>]]<<{([(<>{})[<>()]]{{[]()}{()(
|
||||
<[{{{<<<[{[{<[()[]]({}[])>}[{({}{}){<>[]}}{<<>[]>[{}[]]}]]<[<({}{})>(([]())<{}{}>)]{([{}[]]([]<>)
|
||||
{<<<[[(([{{[[(()<>)<()()>]][[{{}[]}[()()]]]}<<{[{}()]<{}[]>}[{()[]}<[]<>>]>>}]))][{(<[(<[<<><>>(()())]<({}{
|
||||
(<<<{{(<{[[[[(()())<<>[]>]<[[][]]>]((<{}<>><[][]>)[([]())[()()]])]([(<{}>(()[]))<([]()){[]{}}>]))}>)}({
|
||||
({<(({{{<{{[{<()<>>[<>[]]}([[]()][()()])]{([()<>]({}())){{{}()>{[]<>}}}}}>}<[{[<[<{}()>[{}{}]]<<()()><()(
|
||||
<[{<<<([{<[{{<[][]><[]{}>}{[{}]{{}}}}<<{()[]}([]{})>([{}[])(()()))>][<[{[][]}{(){}}]{[()[]
|
||||
{<[{{[<([[[[<{()[]}[<>()]>{<<>[]>{{}()}}]<({[]{}}{()<>}){{()[]}(<>{})}>]({[<()[]]([]{})][<<>()>(<><>)]}<<
|
||||
({{[(([<[<[[{(()[])}{(()[])[()()]}]{[(<><>){<>{}}]<<[]<>><<><>>>}]>]<[(([<<>[]>]))]<((<{{}{}}{(){}}>
|
||||
({[[(({[[<(<({<>{}})[([]<>)([]{})]>[<([][])<{}{}>>(<()()>)]){<[[<>()]{[]{}}]({{}{}}([]()))>}>]]}<{<{
|
||||
[[{([<({[[[<<<[]{}>({}())>([{}<>][<><>])>{<(()<>)<<><>>>{[<>{}]{[]{}}}}]{{((()[]))[({}[])<[]{}>]}[({<>{}
|
||||
([[(([<[<([(<(<>()){{}{}>><<<>[]>[{}<>]>)<(<[]()>[()[]])>])>(<{([{[][]}<<>()>]<[<>[]]>)(<<{
|
||||
([{({<<<<[[({[[]<>]({}<>)}[({}[])(<>{})])][<{((){}){[]()}}<[{}[]]<[]{}>>>(<<()[]><{}<>>]{[<><>][{}<>]}
|
||||
<<<<{{({<{{[([<>()][[][]]){{[]{}}<{}()>}][(<[]{}>[{}<>]>[{<>[]}((){})]]}}(<<<{[]{}}{{}}><([]{})({}<>)>>({((
|
||||
[[<<{<{<(<{({{{}[]}}((<>)(<>[]))){{{[]()}<()()>}[{<>()}<[]{}>]}}{[{({}{})<{}[]>}({<>[]}{[]<>})]{([{}
|
||||
{{{[{[([[{{[{<{}>({}<>)}[([][]){<><>}]]([{{}[]}])}[<[[[]()]]{[[]{}]}>{<{<>()}>}]}]{[{[[[<>{}]{[]}]((
|
||||
(<[[<<<({[[{{[<>[]]<(){}>}}<({<><>}{<>{}}){((){})([]<>)}>](<[[{}[]][[]]][{{}<>}[{}{}}]>((([][])[()()]){<()
|
||||
{([((<{{{[[<<{()()}<[])>[{<>()}<()()>]>]((<[{}<>]<{}()>>{{{}<>}(()())}){{<()[]>(<><>)}{[[]()](<>())}})]}
|
||||
{{<<<<({[<{<([{}<>]([][]))<<{}[]>([]{})>><[{<>()}{[]()}](<(){}><[]()>)>}<[<<[][]>({}())>(<[]
|
||||
{[<[[((<({<<[<{}<>><{}()>]><<<{}<>>{<>}>{{{}[]){()<>}}>>([[{[][]}(()[])](({}[]){{}{}})])}<<({(<>
|
||||
[[[<([[([<[{[{()[]}{{}[]}][(()()){[]{}}]}{{{<><>}{[][]}}{<{}<>]({}())}}]>[[<[{()<>}<{}{}>]<{[]()}({}<>)>>{<<
|
||||
({[{<[[[([[((({}<>)((){})){({}{}){{}()}})[[(()())<{}[]>]]>[[[<{}()>]<[[]]<()[]>>][<(()<>){[]()}
|
||||
[[<[{[<<<<{{({[]<>}({}[]))[<<><>>([]{})]}[<{<><>}<[]{}>><([]())[()<>]>]}<([{<><>}<()()>]<[(){}]({})>
|
||||
[{(<<{{((({[<{<>[]}>](<[[]]({}[])>(<{}{}>{()()}))}<([({}<>)<{}()>]({[][]}({}())))>)<{{((<><>
|
||||
{{((<(<[[<<(<([]()){()<>}><[()()]{[]{}}>)[[({}{})({}{})]<<{}{}><[][]>>]>[(<(())[<>[]]>)<<[<>()
|
||||
[{([({<<{<<[{<[]>({}{})}((<>[])<<><>>)][<([])><{[]<>}<[]{}>>]><{({<>()}<<>[]>)}>>(([[({}{})[()[]]]
|
||||
<{([({{{{(([{<[]()>(<>())}{{{}{}}{{}()}}]<{<{}()>[()<>]}({()[]}{<><>})>)<((<<>()>{<>{}}))({([]<>)[{}{}]}<([]
|
||||
<{<[(<<({<(([(<><>)([]())]){{<<>()>}(<{}{}>{<>[]})})[{[{()<>}[<>[]]]([()()]{{}})}{([<>()]<[]()>)<[<>[]]{{}()
|
||||
<{<{[[({<[[([[{}<>][{}<>]][(<>[]){()[]}])<([()[]])[<()<>>[{}()]]>}{[{[{}[]]<[]<>>}[(<>[])<()()>]]([<
|
||||
[<{(<{<(([{[<<()()><()[]>>{({}{})<[][]>}]<(<(){}>)>}[<<<[]()>>[({}<>)([]())>><<((){}){<><>
|
||||
[[[(((<({[([[<<>()>]{(<><>)<[]<>>}]([<[]()>{()()}]{[{}()]{<>}}))[[([<><>](<>[]))({<>()})]]](<(([[]
|
||||
<{({(([{<[(<{{[]()}}>({[{}{}]{[]{}}}[{()}(<>{})>))]<(([[()][[][]]])<<<{}<>><(){}>>>)({<(<>{})>(([]())({}<>))
|
||||
<([([[[<([(<(([]<>)){[[]()][()]}>{[{<>()}([]{})]{([]<>)({}[])>})]<[<({(){}}(()<>)){{{}()}<[]{}>}><[[<>{}]
|
||||
([(<[({<<(<{{(()<>)<(){}>}{<{}{}>}}>[<<(<>())<{}[]>><[<>()][<><>]>><<([]{}){[]()}>>])<[<{<[]()>[[]{}]}{([])<(
|
||||
(<<{[<[(<(<<[<(){}>[[]{}]][({}())<[]{}>]>>{[<(<>())<{}()>>][<{{}<>}<[][]>><[<>()](()())>]}]>{({[<<[]()
|
||||
[([<<<([<<[{{<()()><{}()>}{<[]{}>}}]{[{[[]()]}]({<(){}>(()[])})}>(<{{<<>{}>{()()}}<(()[])[[]()]>}(<<(){}>{
|
||||
<(<([((<((({(((){})]{{{}}<{}>}}<<(()())({}())>((<>[])([]()))>)){{[<((){})<<><>>>]}})><<[<[({[]{}}(<><>)){(<
|
||||
<{[<[[({<[<<{(<>[])[()[]]}{<<>>(()[])}><[{(){}}[<>()]][{[][]}(()<>)]>>{<<(<>[])[[]()]>{{<>()}<{}
|
||||
<<({[({{[([{[<[]><<>[]>]}<{{{}[]][()<>]}{{()[]}[{}<>]}>])]}<<{([{(<>[]){{}<>}}]([[<>()][()<>]]))({(<{
|
||||
(<{{{[[([<[{{{[]<>}[()<>]}<<<>()>>}[((()[]){()[]})]]>{{([([][])])<([<><>]{()<>})(<<>{}><<>{}>)>}{<<<[]
|
||||
[[([<([[<[<{({()<>}{[]{}}){[{}[]][<>[]]}}>]>]{{({(([{}[]]({}{})){[<>{}]{{}<>}})<((<>()))[{[]{}}]>}((((
|
||||
({[<<[[[{{{[<<[]>([]<>)>(([]<>)<[]{}>)][<<{}[]>({}{})>]}([[<{}{}>[()[]]]((()<>)[<>[]])]{([()<>]{[][]}){{<><
|
||||
{<[{({[<({({[{{}[]}[[]{}]]({{}{}}([]()))}[(<()<>>{[]{}}){<[]{}>[()]}])}<({<{[]()}({}[])>[(()){<>()}]}
|
||||
[([{{(([[{<[{(()())[{}[]]}<<<>><{}[]>>]{[{[]()}[[]<>]](<{}{}>[()()})}>}[([(<{}<>><{}<>>)(<<>{}>([]{}))]({([]{
|
||||
@@ -0,0 +1,10 @@
|
||||
5483143223
|
||||
2745854711
|
||||
5264556173
|
||||
6141336146
|
||||
6357385478
|
||||
4167524645
|
||||
2176841721
|
||||
6882881134
|
||||
4846848554
|
||||
5283751526
|
||||
10
projects/_standalone/aoc/src/year2021/inputs/day11.txt
Normal file
10
projects/_standalone/aoc/src/year2021/inputs/day11.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
2238518614
|
||||
4552388553
|
||||
2562121143
|
||||
2666685337
|
||||
7575518784
|
||||
3572534871
|
||||
8411718283
|
||||
7742668385
|
||||
1235133231
|
||||
2546165345
|
||||
@@ -0,0 +1,7 @@
|
||||
start-A
|
||||
start-b
|
||||
A-c
|
||||
A-b
|
||||
b-d
|
||||
A-end
|
||||
b-end
|
||||
24
projects/_standalone/aoc/src/year2021/inputs/day12.txt
Normal file
24
projects/_standalone/aoc/src/year2021/inputs/day12.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
rf-RL
|
||||
rf-wz
|
||||
wz-RL
|
||||
AV-mh
|
||||
end-wz
|
||||
end-dm
|
||||
wz-gy
|
||||
wz-dm
|
||||
cg-AV
|
||||
rf-AV
|
||||
rf-gy
|
||||
end-mh
|
||||
cg-gy
|
||||
cg-RL
|
||||
gy-RL
|
||||
VI-gy
|
||||
AV-gy
|
||||
dm-rf
|
||||
start-cg
|
||||
start-RL
|
||||
rf-mh
|
||||
AV-start
|
||||
qk-mh
|
||||
wz-mh
|
||||
1000
projects/_standalone/aoc/src/year2021/inputs/day2.txt
Normal file
1000
projects/_standalone/aoc/src/year2021/inputs/day2.txt
Normal file
File diff suppressed because it is too large
Load Diff
1000
projects/_standalone/aoc/src/year2021/inputs/day3.txt
Normal file
1000
projects/_standalone/aoc/src/year2021/inputs/day3.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1
|
||||
|
||||
22 13 17 11 0
|
||||
8 2 23 4 24
|
||||
21 9 14 16 7
|
||||
6 10 3 18 5
|
||||
1 12 20 15 19
|
||||
|
||||
3 15 0 2 22
|
||||
9 18 13 17 5
|
||||
19 8 7 25 23
|
||||
20 11 10 24 4
|
||||
14 21 16 12 6
|
||||
|
||||
14 21 17 24 4
|
||||
10 16 15 9 19
|
||||
18 8 23 26 20
|
||||
22 11 13 6 5
|
||||
2 0 12 3 7
|
||||
601
projects/_standalone/aoc/src/year2021/inputs/day4.txt
Normal file
601
projects/_standalone/aoc/src/year2021/inputs/day4.txt
Normal file
@@ -0,0 +1,601 @@
|
||||
59,91,13,82,8,32,74,96,55,51,19,47,46,44,5,21,95,71,48,60,68,81,80,14,23,28,26,78,12,22,49,1,83,88,39,53,84,37,93,24,42,7,56,20,92,90,25,36,34,52,27,50,85,75,89,63,33,4,66,17,98,57,3,9,54,0,94,29,79,61,45,86,16,30,77,76,6,38,70,62,72,43,69,35,18,97,73,41,40,64,67,31,58,11,15,87,65,2,10,99
|
||||
|
||||
42 47 77 49 67
|
||||
64 82 32 94 78
|
||||
96 62 45 11 43
|
||||
55 92 81 66 88
|
||||
12 95 19 24 71
|
||||
|
||||
96 40 25 11 89
|
||||
84 33 10 55 16
|
||||
22 90 54 42 86
|
||||
73 13 70 32 56
|
||||
18 78 41 81 50
|
||||
|
||||
58 48 24 3 40
|
||||
38 61 95 39 36
|
||||
45 21 2 90 57
|
||||
42 41 22 83 67
|
||||
73 77 59 0 85
|
||||
|
||||
2 11 17 28 22
|
||||
93 1 27 85 13
|
||||
37 72 54 94 86
|
||||
25 40 57 60 71
|
||||
38 46 83 30 92
|
||||
|
||||
14 88 34 10 87
|
||||
31 47 46 72 28
|
||||
26 1 50 81 76
|
||||
98 2 17 59 39
|
||||
80 99 84 62 44
|
||||
|
||||
22 80 28 31 27
|
||||
21 92 5 64 65
|
||||
73 85 35 66 76
|
||||
11 29 75 81 37
|
||||
90 69 53 97 67
|
||||
|
||||
84 89 93 1 37
|
||||
99 13 17 52 81
|
||||
31 0 28 12 91
|
||||
92 20 41 36 35
|
||||
40 26 23 51 64
|
||||
|
||||
72 50 20 87 82
|
||||
28 88 15 9 24
|
||||
47 54 3 84 76
|
||||
14 34 33 65 78
|
||||
53 60 23 21 77
|
||||
|
||||
76 17 7 38 25
|
||||
72 82 96 83 2
|
||||
94 86 56 43 97
|
||||
26 93 59 48 55
|
||||
3 85 29 19 4
|
||||
|
||||
58 95 50 21 47
|
||||
85 33 76 97 62
|
||||
39 70 42 25 71
|
||||
53 79 87 41 91
|
||||
45 27 3 92 88
|
||||
|
||||
9 38 32 18 56
|
||||
40 5 62 70 41
|
||||
1 30 39 90 79
|
||||
69 84 74 59 35
|
||||
65 54 21 27 73
|
||||
|
||||
92 85 69 5 29
|
||||
91 74 1 26 60
|
||||
63 87 37 71 62
|
||||
59 15 56 45 95
|
||||
86 67 39 34 89
|
||||
|
||||
89 30 39 15 3
|
||||
71 37 38 56 77
|
||||
67 13 41 85 36
|
||||
32 7 12 97 87
|
||||
50 42 21 33 23
|
||||
|
||||
11 40 38 96 6
|
||||
88 39 64 33 86
|
||||
51 79 63 12 3
|
||||
47 7 69 41 80
|
||||
10 28 91 37 89
|
||||
|
||||
90 14 52 49 93
|
||||
62 2 35 46 42
|
||||
87 3 85 29 68
|
||||
15 96 72 10 59
|
||||
50 80 5 20 44
|
||||
|
||||
58 92 96 48 74
|
||||
2 17 54 93 32
|
||||
39 46 76 91 10
|
||||
26 21 52 11 65
|
||||
23 36 78 77 43
|
||||
|
||||
79 5 10 41 97
|
||||
80 45 81 32 87
|
||||
18 78 21 92 74
|
||||
14 49 94 59 37
|
||||
6 62 76 57 35
|
||||
|
||||
52 59 3 78 89
|
||||
6 49 90 54 15
|
||||
82 30 64 7 85
|
||||
51 50 73 71 60
|
||||
17 26 18 98 94
|
||||
|
||||
71 86 8 0 34
|
||||
77 81 47 13 53
|
||||
99 93 29 28 85
|
||||
76 49 51 1 4
|
||||
90 65 88 16 98
|
||||
|
||||
89 32 50 77 71
|
||||
35 34 66 60 27
|
||||
52 24 57 42 37
|
||||
31 1 70 13 62
|
||||
33 91 61 7 30
|
||||
|
||||
55 10 86 85 46
|
||||
2 96 68 40 24
|
||||
44 49 6 13 99
|
||||
93 36 31 52 67
|
||||
84 81 48 14 1
|
||||
|
||||
84 92 66 24 95
|
||||
70 26 67 25 32
|
||||
52 11 55 76 78
|
||||
82 33 83 93 37
|
||||
21 68 15 94 10
|
||||
|
||||
95 45 58 25 27
|
||||
15 93 10 76 86
|
||||
59 90 87 99 72
|
||||
4 71 31 3 37
|
||||
52 35 83 54 33
|
||||
|
||||
73 39 32 89 84
|
||||
5 70 47 61 18
|
||||
16 92 78 26 8
|
||||
94 37 14 53 27
|
||||
44 30 68 77 63
|
||||
|
||||
94 24 54 1 49
|
||||
27 90 84 79 69
|
||||
6 70 25 36 80
|
||||
14 16 53 92 44
|
||||
61 33 55 89 23
|
||||
|
||||
85 92 37 64 59
|
||||
70 67 55 60 27
|
||||
69 62 45 48 57
|
||||
30 75 99 18 43
|
||||
82 7 10 19 38
|
||||
|
||||
78 46 32 95 58
|
||||
67 66 39 77 62
|
||||
50 53 47 55 70
|
||||
23 42 38 22 60
|
||||
30 29 10 40 84
|
||||
|
||||
27 89 46 75 73
|
||||
84 48 7 12 82
|
||||
34 15 81 98 65
|
||||
24 83 87 4 86
|
||||
9 55 47 8 36
|
||||
|
||||
30 70 5 21 82
|
||||
95 11 49 37 48
|
||||
68 74 41 63 85
|
||||
93 35 7 8 80
|
||||
45 31 53 55 26
|
||||
|
||||
98 75 47 9 18
|
||||
44 97 26 73 64
|
||||
62 99 13 43 0
|
||||
51 37 10 74 94
|
||||
35 68 22 76 83
|
||||
|
||||
35 9 82 95 40
|
||||
30 10 99 7 47
|
||||
12 77 54 25 34
|
||||
73 97 38 11 17
|
||||
70 41 87 29 57
|
||||
|
||||
95 50 69 58 93
|
||||
89 52 23 24 8
|
||||
20 53 43 22 84
|
||||
60 4 19 64 6
|
||||
92 21 10 26 85
|
||||
|
||||
37 48 98 80 77
|
||||
15 76 12 75 52
|
||||
94 41 40 69 63
|
||||
92 28 74 14 17
|
||||
3 62 86 19 82
|
||||
|
||||
40 1 33 53 64
|
||||
60 9 76 50 44
|
||||
0 34 51 98 12
|
||||
6 84 72 86 15
|
||||
18 80 13 5 23
|
||||
|
||||
40 86 96 61 34
|
||||
13 0 39 88 32
|
||||
36 91 82 51 97
|
||||
83 87 63 94 26
|
||||
53 30 23 14 45
|
||||
|
||||
93 20 29 9 66
|
||||
25 72 10 54 30
|
||||
31 51 41 15 47
|
||||
71 61 96 55 81
|
||||
3 50 36 94 27
|
||||
|
||||
8 23 14 30 10
|
||||
91 36 58 40 92
|
||||
74 84 33 44 96
|
||||
86 20 82 57 5
|
||||
87 11 95 46 31
|
||||
|
||||
95 51 73 41 10
|
||||
31 15 70 56 39
|
||||
83 11 37 38 42
|
||||
13 58 53 77 14
|
||||
79 71 5 29 93
|
||||
|
||||
21 59 62 60 87
|
||||
92 90 51 15 57
|
||||
38 68 26 78 36
|
||||
31 84 97 81 74
|
||||
12 48 35 70 93
|
||||
|
||||
13 52 95 80 87
|
||||
71 77 74 35 61
|
||||
37 41 14 73 46
|
||||
62 90 54 0 88
|
||||
67 20 56 22 85
|
||||
|
||||
95 56 68 49 44
|
||||
34 18 65 13 71
|
||||
52 94 87 90 19
|
||||
36 30 45 3 77
|
||||
84 89 64 20 41
|
||||
|
||||
17 6 13 27 64
|
||||
14 34 60 32 40
|
||||
51 97 8 57 88
|
||||
44 79 82 31 2
|
||||
15 99 59 62 50
|
||||
|
||||
86 16 33 27 39
|
||||
3 34 42 15 48
|
||||
84 2 85 31 87
|
||||
97 41 49 13 23
|
||||
51 6 71 82 10
|
||||
|
||||
82 25 17 28 48
|
||||
95 7 29 55 81
|
||||
97 3 26 64 11
|
||||
98 75 45 89 96
|
||||
49 70 84 41 57
|
||||
|
||||
5 51 65 35 27
|
||||
89 17 18 66 37
|
||||
16 68 56 87 33
|
||||
71 86 52 48 23
|
||||
47 10 53 7 55
|
||||
|
||||
76 88 50 5 83
|
||||
23 63 13 26 41
|
||||
84 60 36 80 68
|
||||
37 79 47 74 1
|
||||
59 55 58 99 65
|
||||
|
||||
48 51 12 74 9
|
||||
31 26 67 95 98
|
||||
54 46 56 3 80
|
||||
10 57 17 37 92
|
||||
78 87 28 82 52
|
||||
|
||||
49 85 57 58 30
|
||||
77 76 92 97 3
|
||||
69 66 14 25 83
|
||||
63 98 47 37 78
|
||||
22 96 89 91 95
|
||||
|
||||
5 24 38 66 88
|
||||
32 18 82 26 23
|
||||
41 36 14 91 21
|
||||
56 51 99 83 58
|
||||
28 27 78 3 43
|
||||
|
||||
55 65 60 13 11
|
||||
10 41 9 39 62
|
||||
75 85 12 61 66
|
||||
35 43 64 94 48
|
||||
44 28 1 92 2
|
||||
|
||||
19 81 21 33 15
|
||||
48 55 91 95 7
|
||||
34 90 64 50 97
|
||||
23 43 60 3 26
|
||||
16 22 67 58 9
|
||||
|
||||
83 33 88 16 47
|
||||
13 98 43 24 34
|
||||
45 9 27 2 76
|
||||
4 57 80 77 87
|
||||
61 11 66 81 50
|
||||
|
||||
17 62 88 23 5
|
||||
57 25 84 55 65
|
||||
60 85 39 90 99
|
||||
83 79 37 34 46
|
||||
29 54 92 12 51
|
||||
|
||||
28 59 78 96 55
|
||||
12 77 46 81 23
|
||||
60 54 17 16 45
|
||||
42 89 62 63 47
|
||||
26 98 31 85 7
|
||||
|
||||
86 91 2 39 0
|
||||
67 73 62 69 38
|
||||
6 94 25 66 7
|
||||
26 41 81 59 79
|
||||
71 44 33 46 10
|
||||
|
||||
24 22 21 82 62
|
||||
48 74 83 17 64
|
||||
66 23 4 78 36
|
||||
54 80 38 20 14
|
||||
47 85 96 39 12
|
||||
|
||||
72 56 75 34 59
|
||||
20 22 90 87 97
|
||||
24 95 61 91 74
|
||||
51 38 7 18 21
|
||||
73 57 89 80 92
|
||||
|
||||
42 23 22 5 37
|
||||
72 77 88 63 7
|
||||
44 80 62 10 69
|
||||
91 1 60 70 25
|
||||
67 97 75 45 55
|
||||
|
||||
3 45 91 4 13
|
||||
14 6 34 49 82
|
||||
31 98 35 23 85
|
||||
10 71 16 40 15
|
||||
11 99 7 32 28
|
||||
|
||||
42 44 52 27 25
|
||||
31 28 11 86 81
|
||||
35 80 20 65 24
|
||||
17 8 93 49 58
|
||||
16 92 78 63 61
|
||||
|
||||
57 60 34 95 46
|
||||
78 25 79 42 36
|
||||
65 84 74 82 91
|
||||
33 44 9 47 90
|
||||
53 69 54 0 76
|
||||
|
||||
67 29 7 82 73
|
||||
87 49 44 10 14
|
||||
40 98 89 41 12
|
||||
58 20 27 13 53
|
||||
51 78 96 59 80
|
||||
|
||||
75 8 73 47 4
|
||||
46 67 28 78 5
|
||||
29 62 65 19 13
|
||||
48 95 21 81 50
|
||||
80 38 51 96 91
|
||||
|
||||
45 41 80 64 32
|
||||
14 93 40 76 70
|
||||
15 77 49 0 98
|
||||
19 68 16 18 92
|
||||
81 83 47 36 44
|
||||
|
||||
56 3 88 97 72
|
||||
60 46 98 11 51
|
||||
52 8 54 89 9
|
||||
67 41 78 17 82
|
||||
99 2 6 7 77
|
||||
|
||||
66 20 48 64 9
|
||||
19 52 74 56 59
|
||||
42 81 29 93 6
|
||||
72 75 83 15 76
|
||||
99 23 14 44 50
|
||||
|
||||
77 90 79 49 3
|
||||
51 76 2 41 74
|
||||
86 96 36 84 16
|
||||
85 5 95 18 47
|
||||
73 33 32 45 58
|
||||
|
||||
82 72 86 18 84
|
||||
59 60 6 22 7
|
||||
31 19 90 47 58
|
||||
65 71 4 67 92
|
||||
17 95 44 35 26
|
||||
|
||||
14 81 55 51 29
|
||||
44 64 99 41 43
|
||||
82 72 53 33 10
|
||||
95 38 76 68 56
|
||||
57 88 39 0 5
|
||||
|
||||
15 47 2 78 9
|
||||
13 36 41 29 97
|
||||
86 18 57 69 49
|
||||
79 37 91 88 59
|
||||
21 23 87 1 30
|
||||
|
||||
39 45 56 8 89
|
||||
2 42 66 3 70
|
||||
75 80 17 64 97
|
||||
32 35 60 23 88
|
||||
18 51 99 7 38
|
||||
|
||||
30 54 83 88 74
|
||||
52 15 91 77 86
|
||||
2 79 12 16 50
|
||||
40 14 97 63 35
|
||||
33 71 25 21 94
|
||||
|
||||
37 85 35 10 22
|
||||
52 31 77 48 82
|
||||
51 3 49 95 20
|
||||
24 75 0 89 97
|
||||
78 63 14 46 42
|
||||
|
||||
91 26 28 38 31
|
||||
55 32 0 95 10
|
||||
68 25 45 57 56
|
||||
36 14 69 30 15
|
||||
81 3 37 13 40
|
||||
|
||||
75 30 8 28 44
|
||||
60 79 59 74 9
|
||||
81 50 66 92 61
|
||||
29 2 88 15 99
|
||||
87 91 26 7 96
|
||||
|
||||
74 75 81 72 89
|
||||
44 8 94 3 97
|
||||
93 46 37 0 56
|
||||
63 21 29 91 55
|
||||
41 4 31 49 33
|
||||
|
||||
55 8 57 29 63
|
||||
85 36 58 89 33
|
||||
44 75 67 23 39
|
||||
49 46 32 10 84
|
||||
15 7 59 56 12
|
||||
|
||||
1 91 65 67 4
|
||||
31 5 34 30 37
|
||||
93 66 18 79 19
|
||||
28 6 0 47 42
|
||||
21 98 87 89 81
|
||||
|
||||
79 30 10 21 69
|
||||
56 19 27 90 72
|
||||
77 57 93 92 97
|
||||
15 45 4 18 68
|
||||
59 2 29 26 83
|
||||
|
||||
21 41 53 30 31
|
||||
85 18 17 52 39
|
||||
49 38 4 57 54
|
||||
63 74 59 16 8
|
||||
66 62 27 10 37
|
||||
|
||||
28 94 59 97 5
|
||||
91 17 72 84 80
|
||||
21 6 60 77 98
|
||||
50 70 44 85 95
|
||||
92 61 43 16 93
|
||||
|
||||
10 91 27 84 63
|
||||
69 97 9 83 89
|
||||
6 47 42 87 77
|
||||
20 94 34 4 64
|
||||
0 12 38 39 18
|
||||
|
||||
4 54 55 76 64
|
||||
39 15 80 42 9
|
||||
57 56 87 61 28
|
||||
70 85 36 25 75
|
||||
38 53 12 71 47
|
||||
|
||||
83 97 32 29 0
|
||||
60 30 31 92 61
|
||||
1 42 17 94 67
|
||||
20 39 36 91 10
|
||||
18 69 47 43 76
|
||||
|
||||
63 74 68 71 92
|
||||
85 94 8 41 35
|
||||
39 32 62 67 87
|
||||
70 95 40 84 51
|
||||
52 30 53 22 1
|
||||
|
||||
17 39 74 50 55
|
||||
72 7 88 4 68
|
||||
94 91 45 15 77
|
||||
48 53 62 46 67
|
||||
69 12 70 32 35
|
||||
|
||||
56 89 96 51 14
|
||||
23 77 62 4 22
|
||||
88 87 27 5 94
|
||||
6 28 40 11 83
|
||||
33 86 99 80 63
|
||||
|
||||
2 96 16 33 81
|
||||
18 9 45 39 49
|
||||
3 21 59 27 58
|
||||
48 31 28 42 77
|
||||
37 83 61 25 71
|
||||
|
||||
13 1 6 34 23
|
||||
56 40 66 50 99
|
||||
46 28 65 32 27
|
||||
60 67 22 17 0
|
||||
29 43 21 8 59
|
||||
|
||||
90 86 69 22 5
|
||||
72 96 29 62 59
|
||||
40 1 54 87 55
|
||||
41 78 28 43 33
|
||||
77 49 82 13 61
|
||||
|
||||
82 8 39 68 51
|
||||
97 13 22 7 92
|
||||
60 88 84 16 30
|
||||
86 54 71 50 87
|
||||
72 24 41 25 48
|
||||
|
||||
9 35 43 49 77
|
||||
24 29 1 70 80
|
||||
15 4 93 48 6
|
||||
31 17 0 99 95
|
||||
28 13 56 41 97
|
||||
|
||||
24 75 16 59 98
|
||||
86 5 7 93 10
|
||||
42 71 6 91 21
|
||||
43 69 78 94 33
|
||||
3 45 73 11 20
|
||||
|
||||
19 3 17 58 89
|
||||
11 54 53 34 14
|
||||
66 82 44 46 41
|
||||
1 22 62 69 25
|
||||
65 98 76 84 13
|
||||
|
||||
37 93 47 15 20
|
||||
43 46 82 53 75
|
||||
18 90 25 69 92
|
||||
54 42 83 41 17
|
||||
44 14 22 70 4
|
||||
|
||||
78 72 96 86 89
|
||||
64 61 69 79 85
|
||||
10 59 37 18 46
|
||||
5 22 31 81 7
|
||||
40 57 53 66 32
|
||||
|
||||
8 77 33 81 90
|
||||
27 2 94 24 59
|
||||
79 28 30 97 60
|
||||
32 18 10 1 38
|
||||
58 12 5 87 17
|
||||
|
||||
68 76 4 63 16
|
||||
75 66 19 50 14
|
||||
73 24 22 6 33
|
||||
99 61 87 1 47
|
||||
35 83 48 39 20
|
||||
|
||||
42 39 28 87 37
|
||||
89 12 75 82 84
|
||||
17 74 49 3 5
|
||||
56 76 66 92 85
|
||||
27 18 86 8 58
|
||||
|
||||
71 83 21 29 63
|
||||
46 38 62 3 67
|
||||
56 72 40 96 64
|
||||
95 89 91 4 47
|
||||
7 92 80 69 61
|
||||
@@ -0,0 +1,10 @@
|
||||
0,9 -> 5,9
|
||||
8,0 -> 0,8
|
||||
9,4 -> 3,4
|
||||
2,2 -> 2,1
|
||||
7,0 -> 7,4
|
||||
6,4 -> 2,0
|
||||
0,9 -> 2,9
|
||||
3,4 -> 1,4
|
||||
0,0 -> 8,8
|
||||
5,5 -> 8,2
|
||||
500
projects/_standalone/aoc/src/year2021/inputs/day5.txt
Normal file
500
projects/_standalone/aoc/src/year2021/inputs/day5.txt
Normal file
@@ -0,0 +1,500 @@
|
||||
432,708 -> 432,160
|
||||
579,594 -> 579,448
|
||||
351,791 -> 351,595
|
||||
520,836 -> 564,880
|
||||
30,443 -> 666,443
|
||||
868,157 -> 563,157
|
||||
112,186 -> 853,927
|
||||
493,387 -> 456,424
|
||||
846,165 -> 160,165
|
||||
811,805 -> 292,805
|
||||
454,333 -> 885,333
|
||||
32,407 -> 32,933
|
||||
907,590 -> 368,51
|
||||
117,904 -> 375,904
|
||||
913,145 -> 913,798
|
||||
245,402 -> 245,755
|
||||
855,910 -> 427,482
|
||||
677,252 -> 189,252
|
||||
65,30 -> 956,921
|
||||
808,114 -> 808,76
|
||||
62,946 -> 92,946
|
||||
478,756 -> 581,756
|
||||
387,812 -> 495,812
|
||||
197,606 -> 413,390
|
||||
173,640 -> 515,640
|
||||
456,26 -> 456,345
|
||||
888,69 -> 888,436
|
||||
157,959 -> 824,959
|
||||
832,519 -> 43,519
|
||||
891,258 -> 660,258
|
||||
929,176 -> 815,176
|
||||
309,893 -> 309,831
|
||||
841,825 -> 914,825
|
||||
168,260 -> 168,389
|
||||
264,969 -> 763,969
|
||||
527,553 -> 118,962
|
||||
251,413 -> 228,413
|
||||
163,759 -> 550,759
|
||||
776,650 -> 914,650
|
||||
178,99 -> 887,808
|
||||
368,92 -> 646,92
|
||||
705,583 -> 394,583
|
||||
547,278 -> 597,328
|
||||
24,941 -> 264,941
|
||||
599,588 -> 597,588
|
||||
308,668 -> 308,369
|
||||
462,335 -> 462,251
|
||||
109,343 -> 594,343
|
||||
928,980 -> 727,980
|
||||
955,955 -> 100,100
|
||||
655,716 -> 688,716
|
||||
797,64 -> 354,64
|
||||
100,633 -> 100,39
|
||||
639,757 -> 630,757
|
||||
22,962 -> 878,106
|
||||
236,687 -> 130,687
|
||||
117,881 -> 404,881
|
||||
590,334 -> 590,984
|
||||
864,888 -> 864,126
|
||||
648,164 -> 396,164
|
||||
749,446 -> 191,446
|
||||
41,973 -> 955,59
|
||||
247,725 -> 193,725
|
||||
736,136 -> 736,545
|
||||
919,33 -> 122,830
|
||||
66,986 -> 735,317
|
||||
262,989 -> 262,440
|
||||
25,86 -> 59,86
|
||||
329,151 -> 953,151
|
||||
387,105 -> 310,105
|
||||
216,197 -> 307,106
|
||||
568,574 -> 681,574
|
||||
982,801 -> 982,853
|
||||
965,606 -> 634,606
|
||||
901,854 -> 72,25
|
||||
875,278 -> 569,584
|
||||
500,240 -> 355,240
|
||||
790,448 -> 438,96
|
||||
922,863 -> 559,863
|
||||
772,727 -> 129,84
|
||||
25,11 -> 897,883
|
||||
568,609 -> 318,859
|
||||
876,875 -> 453,452
|
||||
181,471 -> 544,834
|
||||
323,377 -> 655,377
|
||||
418,20 -> 418,963
|
||||
449,392 -> 401,440
|
||||
601,958 -> 296,653
|
||||
527,343 -> 519,343
|
||||
763,328 -> 290,328
|
||||
889,262 -> 499,262
|
||||
390,478 -> 879,478
|
||||
298,764 -> 25,764
|
||||
753,86 -> 40,799
|
||||
311,350 -> 353,350
|
||||
132,817 -> 504,817
|
||||
34,121 -> 837,924
|
||||
535,27 -> 535,539
|
||||
932,257 -> 932,983
|
||||
44,833 -> 596,833
|
||||
141,34 -> 910,803
|
||||
781,61 -> 453,389
|
||||
929,28 -> 449,508
|
||||
679,958 -> 679,618
|
||||
894,273 -> 894,778
|
||||
735,697 -> 735,395
|
||||
266,693 -> 561,988
|
||||
402,586 -> 402,983
|
||||
141,459 -> 368,459
|
||||
721,723 -> 721,914
|
||||
845,69 -> 871,95
|
||||
196,370 -> 728,902
|
||||
110,725 -> 110,391
|
||||
901,670 -> 664,433
|
||||
542,601 -> 244,899
|
||||
365,386 -> 365,655
|
||||
647,738 -> 197,738
|
||||
292,250 -> 292,29
|
||||
441,603 -> 571,603
|
||||
847,146 -> 847,941
|
||||
629,282 -> 629,700
|
||||
132,44 -> 805,44
|
||||
972,31 -> 17,986
|
||||
437,303 -> 186,303
|
||||
982,416 -> 245,416
|
||||
498,258 -> 752,258
|
||||
300,815 -> 228,743
|
||||
10,69 -> 925,984
|
||||
26,275 -> 227,275
|
||||
969,358 -> 969,833
|
||||
19,593 -> 136,593
|
||||
436,451 -> 436,364
|
||||
181,847 -> 199,865
|
||||
559,409 -> 902,409
|
||||
664,570 -> 749,485
|
||||
170,176 -> 170,254
|
||||
469,908 -> 635,742
|
||||
94,496 -> 341,743
|
||||
142,913 -> 142,987
|
||||
968,143 -> 552,559
|
||||
577,847 -> 629,847
|
||||
888,354 -> 214,354
|
||||
756,769 -> 756,835
|
||||
117,696 -> 756,696
|
||||
966,297 -> 699,297
|
||||
187,800 -> 504,800
|
||||
467,739 -> 264,942
|
||||
952,83 -> 85,950
|
||||
167,478 -> 167,480
|
||||
846,257 -> 814,225
|
||||
427,787 -> 867,787
|
||||
287,886 -> 287,256
|
||||
538,594 -> 838,594
|
||||
987,989 -> 11,13
|
||||
205,825 -> 876,154
|
||||
433,437 -> 29,437
|
||||
954,943 -> 105,94
|
||||
53,143 -> 615,143
|
||||
116,438 -> 116,136
|
||||
31,48 -> 826,843
|
||||
522,637 -> 522,976
|
||||
201,322 -> 146,322
|
||||
873,214 -> 873,564
|
||||
719,460 -> 719,295
|
||||
879,886 -> 12,19
|
||||
688,723 -> 688,677
|
||||
769,779 -> 962,586
|
||||
109,887 -> 940,56
|
||||
359,57 -> 147,57
|
||||
809,857 -> 22,857
|
||||
239,860 -> 239,523
|
||||
329,907 -> 67,907
|
||||
796,165 -> 979,348
|
||||
661,385 -> 661,606
|
||||
638,685 -> 53,100
|
||||
727,787 -> 883,943
|
||||
324,414 -> 229,414
|
||||
323,363 -> 323,357
|
||||
201,440 -> 201,316
|
||||
778,54 -> 68,764
|
||||
528,151 -> 528,549
|
||||
909,970 -> 20,81
|
||||
978,12 -> 17,973
|
||||
944,574 -> 944,499
|
||||
625,85 -> 452,258
|
||||
708,618 -> 148,618
|
||||
40,957 -> 40,31
|
||||
113,288 -> 113,424
|
||||
262,109 -> 262,982
|
||||
90,359 -> 319,359
|
||||
635,21 -> 635,433
|
||||
337,310 -> 918,891
|
||||
512,701 -> 100,289
|
||||
830,946 -> 60,176
|
||||
233,959 -> 257,959
|
||||
460,702 -> 156,702
|
||||
587,96 -> 508,17
|
||||
954,552 -> 906,552
|
||||
359,268 -> 324,268
|
||||
571,416 -> 422,416
|
||||
147,684 -> 379,684
|
||||
817,274 -> 631,88
|
||||
722,85 -> 527,85
|
||||
845,457 -> 288,457
|
||||
50,687 -> 282,919
|
||||
368,310 -> 704,310
|
||||
156,20 -> 920,784
|
||||
888,89 -> 347,89
|
||||
173,27 -> 173,984
|
||||
659,450 -> 507,298
|
||||
144,857 -> 671,857
|
||||
575,976 -> 455,856
|
||||
452,531 -> 452,67
|
||||
858,506 -> 858,205
|
||||
903,486 -> 610,193
|
||||
936,165 -> 498,165
|
||||
864,336 -> 875,336
|
||||
113,15 -> 113,492
|
||||
153,892 -> 153,20
|
||||
65,401 -> 669,401
|
||||
261,743 -> 261,693
|
||||
511,401 -> 241,401
|
||||
272,683 -> 875,683
|
||||
630,871 -> 630,868
|
||||
249,68 -> 249,500
|
||||
242,532 -> 111,532
|
||||
140,125 -> 220,125
|
||||
878,457 -> 435,457
|
||||
18,723 -> 693,48
|
||||
853,234 -> 853,953
|
||||
285,507 -> 155,507
|
||||
139,873 -> 139,339
|
||||
965,327 -> 965,696
|
||||
68,616 -> 68,484
|
||||
886,659 -> 701,659
|
||||
162,836 -> 886,112
|
||||
119,281 -> 119,776
|
||||
445,706 -> 430,706
|
||||
420,705 -> 420,263
|
||||
941,764 -> 941,442
|
||||
910,932 -> 910,289
|
||||
24,11 -> 249,11
|
||||
476,296 -> 564,296
|
||||
960,822 -> 450,312
|
||||
802,852 -> 272,852
|
||||
527,127 -> 527,408
|
||||
928,132 -> 382,678
|
||||
102,297 -> 109,297
|
||||
308,586 -> 308,894
|
||||
35,913 -> 99,977
|
||||
950,392 -> 950,405
|
||||
96,531 -> 892,531
|
||||
700,451 -> 291,42
|
||||
219,197 -> 219,201
|
||||
863,861 -> 267,265
|
||||
104,55 -> 944,895
|
||||
309,909 -> 165,909
|
||||
732,458 -> 790,458
|
||||
877,959 -> 45,959
|
||||
30,902 -> 907,25
|
||||
314,36 -> 974,36
|
||||
665,580 -> 665,882
|
||||
526,288 -> 865,288
|
||||
312,166 -> 312,464
|
||||
556,380 -> 820,644
|
||||
870,959 -> 602,959
|
||||
273,69 -> 726,69
|
||||
161,885 -> 882,164
|
||||
251,332 -> 251,989
|
||||
853,962 -> 348,962
|
||||
523,47 -> 577,47
|
||||
559,503 -> 128,934
|
||||
625,681 -> 477,533
|
||||
179,352 -> 800,973
|
||||
609,847 -> 609,218
|
||||
249,521 -> 249,930
|
||||
237,903 -> 299,903
|
||||
59,373 -> 59,127
|
||||
788,558 -> 377,147
|
||||
242,792 -> 421,792
|
||||
449,874 -> 449,901
|
||||
821,263 -> 964,263
|
||||
162,121 -> 561,520
|
||||
31,35 -> 600,604
|
||||
622,649 -> 622,97
|
||||
33,967 -> 985,15
|
||||
877,745 -> 56,745
|
||||
688,688 -> 688,385
|
||||
227,137 -> 728,638
|
||||
839,54 -> 593,54
|
||||
662,36 -> 88,610
|
||||
845,500 -> 163,500
|
||||
131,579 -> 131,592
|
||||
632,28 -> 632,387
|
||||
335,79 -> 979,79
|
||||
33,95 -> 302,95
|
||||
981,13 -> 28,966
|
||||
737,165 -> 170,732
|
||||
869,751 -> 14,751
|
||||
420,367 -> 420,949
|
||||
623,618 -> 558,553
|
||||
964,34 -> 15,983
|
||||
567,75 -> 553,75
|
||||
674,835 -> 674,886
|
||||
374,727 -> 199,552
|
||||
880,953 -> 579,953
|
||||
320,664 -> 777,207
|
||||
290,198 -> 290,689
|
||||
405,778 -> 405,253
|
||||
801,164 -> 801,766
|
||||
722,572 -> 722,721
|
||||
704,890 -> 905,890
|
||||
80,909 -> 974,909
|
||||
50,643 -> 371,964
|
||||
903,810 -> 42,810
|
||||
451,102 -> 13,102
|
||||
944,151 -> 337,758
|
||||
781,514 -> 417,514
|
||||
875,828 -> 77,30
|
||||
551,210 -> 728,210
|
||||
280,447 -> 484,447
|
||||
934,926 -> 144,136
|
||||
341,182 -> 485,182
|
||||
611,748 -> 321,458
|
||||
135,483 -> 22,483
|
||||
590,577 -> 590,307
|
||||
962,48 -> 962,95
|
||||
285,770 -> 395,880
|
||||
740,804 -> 362,426
|
||||
942,72 -> 530,484
|
||||
750,893 -> 750,725
|
||||
707,916 -> 769,978
|
||||
424,344 -> 47,344
|
||||
267,891 -> 267,955
|
||||
718,112 -> 367,463
|
||||
917,148 -> 80,985
|
||||
679,682 -> 51,682
|
||||
72,641 -> 72,729
|
||||
717,760 -> 153,196
|
||||
600,341 -> 600,312
|
||||
530,258 -> 747,258
|
||||
703,434 -> 703,266
|
||||
381,291 -> 34,291
|
||||
889,645 -> 640,645
|
||||
488,877 -> 958,407
|
||||
263,375 -> 43,155
|
||||
865,33 -> 408,33
|
||||
373,337 -> 412,337
|
||||
584,15 -> 76,15
|
||||
431,447 -> 263,447
|
||||
176,644 -> 176,875
|
||||
603,487 -> 257,487
|
||||
857,45 -> 144,758
|
||||
833,108 -> 64,877
|
||||
23,173 -> 23,156
|
||||
175,434 -> 330,434
|
||||
988,22 -> 28,982
|
||||
26,793 -> 26,680
|
||||
164,221 -> 901,958
|
||||
832,672 -> 250,90
|
||||
805,537 -> 805,600
|
||||
393,302 -> 871,302
|
||||
633,709 -> 171,247
|
||||
833,118 -> 990,118
|
||||
806,943 -> 806,447
|
||||
348,345 -> 967,964
|
||||
825,747 -> 399,321
|
||||
976,339 -> 371,339
|
||||
857,26 -> 857,737
|
||||
348,474 -> 715,474
|
||||
260,678 -> 820,678
|
||||
735,301 -> 347,689
|
||||
150,591 -> 150,838
|
||||
538,285 -> 19,804
|
||||
845,904 -> 60,119
|
||||
440,963 -> 440,586
|
||||
500,72 -> 500,819
|
||||
772,742 -> 772,828
|
||||
737,452 -> 113,452
|
||||
238,818 -> 941,115
|
||||
123,343 -> 123,639
|
||||
927,370 -> 635,78
|
||||
373,745 -> 235,745
|
||||
140,77 -> 140,262
|
||||
517,375 -> 178,714
|
||||
72,423 -> 821,423
|
||||
437,251 -> 210,251
|
||||
170,51 -> 941,822
|
||||
135,467 -> 515,467
|
||||
886,920 -> 89,123
|
||||
374,302 -> 550,478
|
||||
289,592 -> 289,557
|
||||
79,112 -> 944,977
|
||||
303,831 -> 419,831
|
||||
369,32 -> 348,53
|
||||
404,13 -> 890,499
|
||||
377,781 -> 260,781
|
||||
288,769 -> 981,76
|
||||
924,188 -> 628,188
|
||||
399,313 -> 959,313
|
||||
970,52 -> 196,826
|
||||
623,984 -> 169,984
|
||||
572,644 -> 749,644
|
||||
426,533 -> 343,533
|
||||
94,155 -> 721,782
|
||||
328,268 -> 544,268
|
||||
878,124 -> 89,913
|
||||
966,170 -> 610,526
|
||||
108,841 -> 766,183
|
||||
115,808 -> 688,235
|
||||
45,835 -> 806,74
|
||||
152,932 -> 152,938
|
||||
229,814 -> 634,409
|
||||
649,647 -> 649,850
|
||||
437,904 -> 321,904
|
||||
115,116 -> 784,785
|
||||
19,657 -> 19,415
|
||||
831,833 -> 616,833
|
||||
88,954 -> 970,72
|
||||
11,981 -> 707,285
|
||||
261,255 -> 909,903
|
||||
883,875 -> 97,89
|
||||
872,21 -> 872,820
|
||||
34,229 -> 34,690
|
||||
10,10 -> 989,989
|
||||
986,178 -> 986,963
|
||||
413,933 -> 413,907
|
||||
897,756 -> 897,88
|
||||
771,408 -> 771,468
|
||||
327,198 -> 327,421
|
||||
938,900 -> 938,721
|
||||
533,629 -> 533,661
|
||||
177,701 -> 489,389
|
||||
601,839 -> 40,278
|
||||
969,38 -> 70,937
|
||||
797,698 -> 140,41
|
||||
794,107 -> 156,745
|
||||
730,410 -> 730,727
|
||||
115,14 -> 358,14
|
||||
608,382 -> 608,959
|
||||
457,788 -> 393,788
|
||||
592,729 -> 363,500
|
||||
742,964 -> 87,309
|
||||
230,790 -> 433,587
|
||||
302,878 -> 725,455
|
||||
353,722 -> 353,512
|
||||
219,856 -> 824,856
|
||||
92,44 -> 938,890
|
||||
547,179 -> 458,90
|
||||
953,368 -> 193,368
|
||||
767,26 -> 932,26
|
||||
883,96 -> 883,311
|
||||
679,136 -> 679,656
|
||||
32,117 -> 393,478
|
||||
619,704 -> 260,704
|
||||
101,96 -> 985,980
|
||||
169,61 -> 800,692
|
||||
545,902 -> 306,902
|
||||
948,16 -> 52,912
|
||||
546,691 -> 546,887
|
||||
611,294 -> 611,324
|
||||
942,89 -> 942,688
|
||||
34,838 -> 34,734
|
||||
68,98 -> 68,876
|
||||
485,73 -> 485,779
|
||||
573,976 -> 573,364
|
||||
331,233 -> 729,631
|
||||
616,116 -> 616,432
|
||||
909,947 -> 904,947
|
||||
901,139 -> 864,102
|
||||
289,511 -> 289,371
|
||||
269,845 -> 269,597
|
||||
934,86 -> 80,940
|
||||
18,883 -> 790,111
|
||||
154,436 -> 154,464
|
||||
628,901 -> 96,901
|
||||
573,154 -> 159,154
|
||||
118,475 -> 118,339
|
||||
12,12 -> 989,989
|
||||
44,760 -> 512,760
|
||||
45,859 -> 888,16
|
||||
103,826 -> 827,102
|
||||
41,22 -> 945,926
|
||||
769,339 -> 188,339
|
||||
136,658 -> 748,46
|
||||
297,37 -> 297,160
|
||||
261,575 -> 293,543
|
||||
910,724 -> 910,634
|
||||
30,31 -> 962,963
|
||||
747,285 -> 122,910
|
||||
451,976 -> 32,976
|
||||
558,524 -> 165,524
|
||||
631,395 -> 631,48
|
||||
584,382 -> 874,382
|
||||
246,838 -> 246,980
|
||||
750,460 -> 577,460
|
||||
736,747 -> 560,747
|
||||
604,889 -> 604,150
|
||||
206,819 -> 18,819
|
||||
989,974 -> 116,101
|
||||
@@ -0,0 +1 @@
|
||||
3,4,3,1,2
|
||||
1
projects/_standalone/aoc/src/year2021/inputs/day6.txt
Normal file
1
projects/_standalone/aoc/src/year2021/inputs/day6.txt
Normal file
@@ -0,0 +1 @@
|
||||
1,5,5,1,5,1,5,3,1,3,2,4,3,4,1,1,3,5,4,4,2,1,2,1,2,1,2,1,5,2,1,5,1,2,2,1,5,5,5,1,1,1,5,1,3,4,5,1,2,2,5,5,3,4,5,4,4,1,4,5,3,4,4,5,2,4,2,2,1,3,4,3,2,3,4,1,4,4,4,5,1,3,4,2,5,4,5,3,1,4,1,1,1,2,4,2,1,5,1,4,5,3,3,4,1,1,4,3,4,1,1,1,5,4,3,5,2,4,1,1,2,3,2,4,4,3,3,5,3,1,4,5,5,4,3,3,5,1,5,3,5,2,5,1,5,5,2,3,3,1,1,2,2,4,3,1,5,1,1,3,1,4,1,2,3,5,5,1,2,3,4,3,4,1,1,5,5,3,3,4,5,1,1,4,1,4,1,3,5,5,1,4,3,1,3,5,5,5,5,5,2,2,1,2,4,1,5,3,3,5,4,5,4,1,5,1,5,1,2,5,4,5,5,3,2,2,2,5,4,4,3,3,1,4,1,2,3,1,5,4,5,3,4,1,1,2,2,1,2,5,1,1,1,5,4,5,2,1,4,4,1,1,3,3,1,3,2,1,5,2,3,4,5,3,5,4,3,1,3,5,5,5,5,2,1,1,4,2,5,1,5,1,3,4,3,5,5,1,4,3
|
||||
@@ -0,0 +1 @@
|
||||
16,1,2,0,4,2,7,1,2,14
|
||||
1
projects/_standalone/aoc/src/year2021/inputs/day7.txt
Normal file
1
projects/_standalone/aoc/src/year2021/inputs/day7.txt
Normal file
@@ -0,0 +1 @@
|
||||
1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,720,75,471,1142,1442,166,896,138,61,643,1331,315,365,43,4,289,577,1249,30,53,117,956,28,385,27,168,92,110,127,331,27,93,730,122,27,19,1563,708,849,190,1620,1135,878,74,60,424,500,10,7,1687,375,159,566,228,1069,1603,194,463,387,2,890,1060,600,27,578,66,91,510,383,827,1485,18,30,500,0,386,1088,1259,136,1013,660,748,1115,53,22,726,270,29,573,95,5,87,1467,95,1087,27,145,1264,12,621,549,1078,22,243,986,738,64,75,243,47,381,475,565,183,33,645,1,221,11,698,1415,77,269,1,61,67,219,1543,860,1352,338,292,42,2,962,97,282,132,1147,375,479,59,538,617,328,167,1414,365,185,364,553,407,807,226,1698,427,569,448,1549,957,192,906,101,21,31,224,715,890,992,1319,40,663,1094,1647,273,76,268,554,9,18,446,204,61,480,187,1260,131,272,1290,298,199,632,19,95,62,90,46,30,255,165,464,816,405,215,762,197,555,270,306,291,777,122,6,594,1073,231,3,198,790,902,747,908,202,33,56,412,615,437,60,978,418,1871,882,794,32,91,1620,119,16,327,1091,487,1934,1,114,880,32,709,213,127,92,360,30,897,975,75,651,818,87,626,397,927,90,128,129,141,112,1059,609,590,835,76,1707,791,310,328,1937,2,257,646,1150,823,181,5,31,925,321,75,75,167,12,571,340,62,434,107,619,255,923,357,537,507,1044,110,408,1015,616,711,28,322,435,556,27,3,932,1430,218,1227,429,209,735,106,1388,20,17,778,865,1578,847,150,268,1256,208,50,739,268,9,1242,1044,33,895,675,913,68,40,973,256,1314,531,101,709,291,176,211,757,535,31,9,618,121,770,868,1264,1829,68,318,697,51,64,89,27,240,975,586,27,149,142,547,25,168,393,81,1009,924,58,75,1007,675,73,286,598,212,686,431,274,75,1383,270,586,63,419,190,88,1005,222,169,403,440,385,474,697,1303,205,21,978,266,164,42,25,1687,150,235,422,1699,1323,63,260,1366,136,824,378,21,243,330,611,919,305,369,175,596,65,145,837,277,333,974,772,259,1445,19,20,73,253,9,77,329,466,584,216,39,406,299,446,91,1466,1981,307,755,168,245,236,73,103,149,754,106,195,95,147,84,378,230,588,27,953,876,1495,1794,1,15,176,895,1304,888,1174,444,4,978,14,614,1307,291,454,313,908,206,863,170,1360,85,720,605,38,1071,1137,833,356,1490,39,1531,142,109,93,392,12,1887,301,888,344,411,11,202,909,189,245,614,39,140,63,363,590,872,328,30,1627,1329,17,60,961,105,176,771,1119,23,1107,796,446,617,215,298,203,844,0,369,694,125,413,1412,167,95,858,1190,53,1238,83,126,482,2,93,1838,109,342,15,89,280,187,73,129,23,487,555,168,502,175,43,228,109,1170,1208,296,104,243,99,344,107,917,506,1434,1013,566,615,351,18,265,1152,585,1802,347,39,274,27,825,170,409,10,1159,43,10,1139,53,46,283,706,152,1804,863,797,31,141,351,131,242,1014,1617,228,258,739,336,665,409,1398,0,77,168,1376,464,135,1122,219,13,33,315,174,387,186,814,374,7,712,174,10,752,74,660,139,844,478,318,1866,26,307,82,87,1036,696,411,109,6,423,651,7,410,95,1600,134,203,273,37,81,151,320,1043,59,1074,1166,741,1040,155,534,972,1157,167,27,688,63,94,168,808,265,1791,328,781,403,1177,818,422,0,101,1483,67,1098,1679,148,546,1224,117,188,376,886,226,3,132,114,44,479,29,16,43,472,175,335,77,17,1252,468,390,71,111,728,1167,822,57,30,620,81,945,379,362,731,22,709,1428,1588,681,30,930,48,64,819,21,1179,907,1969,537,98,545,1303,217,1234,713,39,929,37,50,949,165,164,702,1706,1133,935,438,298,565,661,1133,762,1501,179,74,793,323,20,260,1396,204,421,654,699,64,1080,119,171,1217,652,11,13,298,302,1569,841,142,428,1535,159,538,381,1,721,59,12,297,421,126,9,91,1549,361,941,159,273,132,51,576,1247,754,18,105,355,500,121,714,264,363,27,515,109,359,57,1237,85,541,407,71,150,60,1089,125,462,214,76,21,1,865,605,1054,36,1332,687,1023,1012,961,298,537,1519,1644,971,93,596,289,355,526,359,348,706,232,133,523,95,723,489,1061,646,769,158,150,699,759,355,97,447,737,140,98,12,235,238,1175,705,65,158,204,164,109,1150
|
||||
@@ -0,0 +1,5 @@
|
||||
2199943210
|
||||
3987894921
|
||||
9856789892
|
||||
8767896789
|
||||
9899965678
|
||||
100
projects/_standalone/aoc/src/year2021/inputs/day9.txt
Normal file
100
projects/_standalone/aoc/src/year2021/inputs/day9.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
7678921234988678901238954323498765432125789999567898765454223789989865432124569899894325678989212965
|
||||
6567890139876589992367896512987654321034569988979999879321012569876987573245979767799434599878909893
|
||||
5456799298987699989456789401398765732125678967991098988632123458965987684347898955688976988768919789
|
||||
4345898987698789878967894323499977543245789456789987999544345567894398789458997544567897976956898678
|
||||
3212987656569898767998985435989899764766789366789875987656776678993239896569987632456789865432234567
|
||||
4336796543456989658789976549978798765677890155898964298767897899789123987678998874567893984321045698
|
||||
5445995432345678945669987698766689976798931234987654109988999935678939899789679965678912995452166789
|
||||
6569876521236789123458998987654567899899545356998543212399990126989298759894579878789429876743278995
|
||||
7689986432345691012567999098767678976989876877899984323456789237892129642923499989896545987895345954
|
||||
8789976545856789134569892199898789895976989988999876567967898356799298731019989997998656798985457893
|
||||
9895989686787899246698789989999898769894394399989987678988987577898987656198968956999897999876568954
|
||||
4934399787899997657997679879987957656793239498765699789999599988967798868987657849899989879987679765
|
||||
3210239898989298799876534568896543234899398997654249899923478999456679879876543434678976756798799876
|
||||
4323359999879129987655423456789654455678966789743134998899567964345569998765432323459765433459893987
|
||||
5535698998968934599543012348998766566789355678951034997678978954233498999988751012578978712778932398
|
||||
6645987897659549698792133959429987679891234589432129865567899543102987899876542123457897653567890129
|
||||
9759876789798998999983249898902398789932356796543298754346789643229876553987854348578998765778921234
|
||||
9898765990987877698765398767893569898756789897954349853245678994346985432398765467689689978989434378
|
||||
9949976891396662549876989756789698998767893959876498432134679989459876654459876567896567989997545456
|
||||
9956987932985451234989977645656997649998932345987987543245789879569998786867997678987499797897697967
|
||||
7899999549876310125698765432345896432109985456798998676346789567998759897878998789599986656789989898
|
||||
6798897656995421234999876501456789543998976567899989785456894456789543998989559895498764345899878789
|
||||
5676789799876532459899997632567897669887987678989976998767943345678932109995446996987653234998765678
|
||||
4565692987987683769789876543478998798756799799878995439889321234589543319865325789876543129987644569
|
||||
3234891996598954598698998674989439979545678998956989421995495345678954429876434567998652098999432878
|
||||
4545689879459765986567899876896529865436567987545678939876989459789867834987545699899754987898541245
|
||||
7666799767249899865456778987898698965323457976434567891989879567899989655698956989798999876987672396
|
||||
8787898654123999794325767998999987979412399854323457892499968998998998776789769876587989765698983989
|
||||
9898987653234598643214656899998876898924987643212356789598956989767899989899889976465678924589999878
|
||||
8959199764545689954902345789987765786899876542101245678987547678958899898967999984324569012367899767
|
||||
7543019878789899899895496899876643245689987653212357899498636569446798767856789999313458923457998758
|
||||
9652123989896998789799989901985432136793298765323768912399923479234987654545998898926567894568989549
|
||||
8783435699934987654678978919876543046789109895434879101989812568995698543239896787987678985879876435
|
||||
9897545789219876543234567923987652167898912976545689239878601477889789632198785676798799976989989324
|
||||
9998676792101997689345698934598743999987893987866789398765412345678998744987674345889899899992398435
|
||||
8799787893912398795458789545689899887876689798978996989876323456889898759876543234578999788921987567
|
||||
7678998959893459987567899766798998776564599649989565878989554567996789769985432123699998677892398878
|
||||
6578999446789567899678998977897899656453878932199434567898765678945698978996543434589987545799469989
|
||||
3467891235697679998799567898986798743212367943098923456989976789434987899987655546678998624678978998
|
||||
2379910145789798969896466789875669853201458954987897599878999898559876789899897677889359534567899987
|
||||
9498921234578967345912345698654356965342367899876798989767899987698865678789998788990297645678999896
|
||||
8997945945689653239543456789743239877463478998985679975656789998987654235699869899459987657789998765
|
||||
7686899899789764398654678999899345998569989767564578954545689989599875123987654912348999767899979654
|
||||
2545798788999875498798789987988957987678997654353989543234569876421986013498763201567899878998765423
|
||||
1236789657899989569899899986767998998989987543212895432123698765310197124569654323468998999769876534
|
||||
0198996545678997689968909865456789989799898987323789543254789898725239295998767434569987987656998676
|
||||
1246789324568998798754219874367899875698769996534679654345679997654356989899896545678976898543459987
|
||||
2345994213579329999864346976788987654398657987785789876456789999765459878788987698789875795432346899
|
||||
3456943103589439899976487987899398966497546798999897989597899899976598765697898789895934989521235678
|
||||
6577893212347998799987898998989209897989434989321956899989999789987699654346889897954329878945656789
|
||||
7898954523456895688999999879878998789879219876532348998978987678999987543234678976543219867896867897
|
||||
8949765434577934567934698765467899654569998997543467987767896567899995432125698988655398988987898986
|
||||
9939876657689810128955987656356789543498766789676579876456789459929876321014567899789997699898939345
|
||||
9899989769798752379969876543245678932398754596987689996567992398910987432323458959899878598789320123
|
||||
8789999878987643467893985432134699210987643135898792987678931987934598893434567945921965498678921939
|
||||
4678999989598654688912396543245964329876532023789910199789549876899799764545678956899876324567939898
|
||||
3456789895429765678901987656457895435995432134567891249897698965788989879659789968998765412679898797
|
||||
4597998766219876789799999786578987559876543265678943459998987754557678988769899879879876543498776656
|
||||
6789109854101989895698999898689499678987665345789759598789876543234567999899901999768987656989654235
|
||||
7899298943212399923987997999995398989298887969899898999567987432123459877989219878957898769876543123
|
||||
8987987654434459439876786789889987899199999878978997898689989731036769765678998767942109879988654234
|
||||
9566798765645798998765345698778656798987878989769876998799876545645998954567896659956212989999986646
|
||||
4345899876756987899873234569656546897976967897654645789893987676789987943456964348897323499854598758
|
||||
3234998989967986789982126997435135456895456986543234678901998787899876542546893237789434999743219869
|
||||
9099767898999865689321019876521012367892356798632126778919879898998997621238964345678956898654309878
|
||||
8987652967989754578993998765432763778901256989321034567898765909987898730145695476789867959765412989
|
||||
7896543459876543469789879876743454678994349876532123456789973219876799421234689587891979039876567899
|
||||
6987699967985432379699867997854575789689467987944354569899894398765987632345898799910989123987679988
|
||||
5498987899876541234578956798965676793578989099895465678976789987654598943656789899321995434598989767
|
||||
6589876999997672345689545899877989892345893139799876889765698998873459658769898957949876565789397656
|
||||
7678965698976543456789323459988999943456789298689989997654567999764569879878997745698989876899298743
|
||||
9899894797897765689893312568999598764567899987578993298785979898975678989989986534987899987998999652
|
||||
4987643656798976793932101478965329998789999876459999109999898767899789694499997929876799999897898921
|
||||
3298432345789989892953212379654219899899876432367898919878798756998999532378999897655678998786987890
|
||||
5099321234877895989894324569795499789999987321458987899957654346897898921569998789743235699674876791
|
||||
6988430123456794578789456678989987678998765432567896999843210123456987892459976678954346986553285892
|
||||
7976651237897943445678967889978976587899876543678965698754942434567935793598765569899457996442154589
|
||||
8995432456789321234567978998767894356789997656789214569869893545678923989789874346778967984321023478
|
||||
9987659567895432345689989999846789267899898767892103489998789678989019878999995234569979876465434567
|
||||
2198968789976563456792199899656895458986789878943212567987659989392198965487893123479989987566545678
|
||||
9099879999998654567989299798767976569875897989654343459876548990129987654356989235689495698998676799
|
||||
8989999987769765679878987649878987679564456899868764567982137892498975431245678949794323499998787891
|
||||
7668899876545989899768999534989998789432345689999879779873256899987653210134567898999467987899898990
|
||||
5456789994323499998657898745699979895431956798989989898654568998798974321265678987998979886789979789
|
||||
4245790295934589876546789976789865976599897997878998939765978989659765432347889986987898765699865678
|
||||
2134891989895678996534578999898654987988789896767897659877899678942986543656798765976789654599654589
|
||||
3256789978789989987321367899987843499875699765656998798998936567890197665689897674765678963688912345
|
||||
9346789865678999865475456789996512569764598654546789987659123489921298778895999543124789754567901234
|
||||
8957898654567921976986667896989423498843699543234678976543234595432569989954398751012678965679892945
|
||||
7899987653459892988987778965978934987654985432124599897964545679843456798743297532154567896798789896
|
||||
6899999542356789899299989754567899999769876563465789789875657789654577897659349854365789949897679789
|
||||
5678987601298997789124596643454598789989997654567898679986768898765689999798998768456895435989567678
|
||||
4567998732349765691015975432123987667895329765678976588987878999876998898987649879768929759878454569
|
||||
3479876545458954589129896543239865456789439878899643456798989989989876787976534999878909998764343457
|
||||
2567987657567895678998789654497654345678945989998532145799098767898765476899745699989698999873232565
|
||||
3456798978678976889765678967986643234789656793987643234689198656987654365678956789995466987652101234
|
||||
4568999989889987996554779879865432123898767892198754365699987545976543234579987899954345699843232345
|
||||
5679987691998998965443456989976321034999878943598767896789876529865432123689298989875677899854345456
|
||||
6789996532467899654321269890195432146890989659679889919899965419876543254590129678986789998767957687
|
||||
7999986543456798767532345789987543256932399767899995323999876201998754365789234567897890129878968798
|
||||
12
projects/_standalone/aoc/src/year2022/Day1.kiss
Normal file
12
projects/_standalone/aoc/src/year2022/Day1.kiss
Normal file
@@ -0,0 +1,12 @@
|
||||
(import year2022.Food)
|
||||
|
||||
(function :Array<Food> parseFood [file]
|
||||
(for paragraph (Util.readParagraphLines file)
|
||||
(paragraph.map Std.parseInt)))
|
||||
|
||||
(function sumFood [:Array<Food> food]
|
||||
(for elf food (apply + elf)))
|
||||
|
||||
(let [sums (sumFood (parseFood "src/year2022/inputs/day1.txt"))]
|
||||
(assert (= 71502 (apply max sums)))
|
||||
(assert (= 208191 (apply + (.slice (sort sums) -3)))))
|
||||
30
projects/_standalone/aoc/src/year2022/Day10.kiss
Normal file
30
projects/_standalone/aoc/src/year2022/Day10.kiss
Normal file
@@ -0,0 +1,30 @@
|
||||
(import year2022.OpCode)
|
||||
(var cyclesToMeasure [20 60 100 140 180 220])
|
||||
(function :Array<Int> signalStrengths [:String programFile :Bool cycleLock]
|
||||
(let [&mut x 1
|
||||
program (Util.readLines programFile)
|
||||
ctm (cyclesToMeasure.copy)
|
||||
&mut nextCycleToMeasure (ctm.shift)
|
||||
:Array<OpCode> opCodes []]
|
||||
(for cycle (range (+ 1 (last cyclesToMeasure)))
|
||||
(let [properCycleNum (+ 1 cycle)
|
||||
startX x]
|
||||
(when (or !cycleLock !opCodes)
|
||||
(case (.split (if cycleLock (program.shift) (nth program ~cycle)) " ")
|
||||
(["addx" v]
|
||||
(opCodes.push (object delay 2 op ->:Void (+= x (Std.parseInt v)))))
|
||||
(otherwise)))
|
||||
(doFor [idx opCode] (zip (reverse (collect (range opCodes.length))) (reverse opCodes))
|
||||
(-= opCode.delay 1)
|
||||
(when (= 0 opCode.delay)
|
||||
(opCode.op)
|
||||
(opCodes.remove opCode)))
|
||||
(if (= properCycleNum nextCycleToMeasure)
|
||||
{
|
||||
(set nextCycleToMeasure (ctm.shift))
|
||||
(* properCycleNum startX)
|
||||
}
|
||||
(continue))))))
|
||||
|
||||
(assertEquals 13140 (apply + (signalStrengths "src/year2022/inputs/day10example.txt" true)))
|
||||
(assertEquals 15680 (apply + (signalStrengths (input 10) true)))
|
||||
40
projects/_standalone/aoc/src/year2022/Day11.kiss
Normal file
40
projects/_standalone/aoc/src/year2022/Day11.kiss
Normal file
@@ -0,0 +1,40 @@
|
||||
(importAs year2022.inputs.Day11Example MonkeysExample)
|
||||
(importAs year2022.inputs.Day11 Monkeys)
|
||||
|
||||
(function :Float monkeyBusiness [:Array<Monkey> monkeys]
|
||||
(apply * (.slice (sort (for monkey monkeys monkey.inspections)) -2)))
|
||||
|
||||
(function printMonkeys [monkeys]
|
||||
(doFor [id monkey] (enumerate monkeys)
|
||||
(print "${id}: $monkey.items (${monkey.inspections} inspections)")))
|
||||
|
||||
// PART 1
|
||||
|
||||
(MonkeysExample.main)
|
||||
(Monkeys.main)
|
||||
(doFor _ (range 20)
|
||||
(MonkeysExample.round true)
|
||||
(Monkeys.round true))
|
||||
|
||||
(assertEquals 10605 (monkeyBusiness MonkeysExample.monkeys))
|
||||
(assertEquals 118674 (monkeyBusiness Monkeys.monkeys))
|
||||
|
||||
// PART 2
|
||||
|
||||
(MonkeysExample.main)
|
||||
(Monkeys.main)
|
||||
|
||||
/*
|
||||
// Unsolved.
|
||||
(doFor num (range 10000)
|
||||
(MonkeysExample.round false)
|
||||
(Monkeys.round false)
|
||||
(let [num (+ 1 num)]
|
||||
(case num
|
||||
((or 1 20 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000)
|
||||
(print "== After round $num ==")
|
||||
(printMonkeys MonkeysExample.monkeys))
|
||||
(otherwise null))))
|
||||
|
||||
|
||||
(assertEquals 2713310158.0 ~(monkeyBusiness MonkeysExample.monkeys))*/
|
||||
62
projects/_standalone/aoc/src/year2022/Day13.kiss
Normal file
62
projects/_standalone/aoc/src/year2022/Day13.kiss
Normal file
@@ -0,0 +1,62 @@
|
||||
(import year2022.ListOrdering)
|
||||
|
||||
(function :ListOrdering isInOrder [:Dynamic left :Dynamic right]
|
||||
(typeCase [left right]
|
||||
([:Int l :Int r]
|
||||
(cond
|
||||
((< l r) Good)
|
||||
((> l r) Bad)
|
||||
(true Inconclusive)))
|
||||
([:Array<Dynamic> l :Array<Dynamic> r]
|
||||
(let [innerL (l.shift) innerR (r.shift)]
|
||||
(case [(isNull innerL) (isNull innerR)]
|
||||
([true false]
|
||||
Good)
|
||||
([false true]
|
||||
Bad)
|
||||
([true true]
|
||||
Inconclusive)
|
||||
([false false]
|
||||
(case
|
||||
(isInOrder innerL innerR)
|
||||
(Inconclusive
|
||||
(isInOrder l r))
|
||||
(other other)
|
||||
(never null))))))
|
||||
([:Int l :Array<Dynamic> r]
|
||||
(isInOrder [l] r))
|
||||
([:Array<Dynamic> l :Int r]
|
||||
(isInOrder l [r]))
|
||||
(never otherwise)))
|
||||
|
||||
(function indicesInOrder [file]
|
||||
(let [pairs (Util.readParagraphLines file)]
|
||||
(for [idx :Array<String> pair] (enumerate pairs)
|
||||
(let [[left right] (for line pair (Json.parse line))]
|
||||
(case (isInOrder left right)
|
||||
(Good (+ 1 idx))
|
||||
(Bad (continue))
|
||||
(never otherwise))))))
|
||||
|
||||
(assertEquals 13 (apply + (indicesInOrder "src/year2022/inputs/day13example.txt")))
|
||||
(assertEquals 6420 (apply + (indicesInOrder (input 13))))
|
||||
|
||||
(function sortedPackets [file]
|
||||
(let [packets (Util.readLines file)]
|
||||
(packets.push "[[2]]")
|
||||
(packets.push "[[6]]")
|
||||
(packets.sort ->[left right]
|
||||
(case (isInOrder (Json.parse left) (Json.parse right))
|
||||
(Good -1)
|
||||
(Bad 1)
|
||||
(never otherwise)))
|
||||
packets))
|
||||
|
||||
(let [sp (sortedPackets "src/year2022/inputs/day13example.txt")]
|
||||
(assertEquals 9 (sp.indexOf "[[2]]"))
|
||||
(assertEquals 13 (sp.indexOf "[[6]]")))
|
||||
|
||||
(let [sp (sortedPackets (input 13))]
|
||||
(let [a (sp.indexOf "[[2]]")
|
||||
b (sp.indexOf "[[6]]")]
|
||||
(assertEquals 22000 #{(a+1) * (b+1);}}#)))
|
||||
48
projects/_standalone/aoc/src/year2022/Day2.kiss
Normal file
48
projects/_standalone/aoc/src/year2022/Day2.kiss
Normal file
@@ -0,0 +1,48 @@
|
||||
(var ROCK 1)
|
||||
(var PAPER 2)
|
||||
(var SCISSORS 3)
|
||||
|
||||
(var LOSE 0)
|
||||
(var DRAW 3)
|
||||
(var WIN 6)
|
||||
|
||||
(function playScore [:Array<String> round]
|
||||
(case round
|
||||
([_ "X" "1"] ROCK)
|
||||
([_ "Y" "1"] PAPER)
|
||||
([_ "Z" "1"] SCISSORS)
|
||||
(["A" "Y" "2"] ROCK)
|
||||
(["A" "Z" "2"] PAPER)
|
||||
(["A" "X" "2"] SCISSORS)
|
||||
(["B" "X" "2"] ROCK)
|
||||
(["B" "Y" "2"] PAPER)
|
||||
(["B" "Z" "2"] SCISSORS)
|
||||
(["C" "Z" "2"] ROCK)
|
||||
(["C" "X" "2"] PAPER)
|
||||
(["C" "Y" "2"] SCISSORS)
|
||||
(never otherwise)))
|
||||
|
||||
(function outcomeScore [:Array<String> round]
|
||||
(case round
|
||||
(["A" "Z" "1"] LOSE)
|
||||
(["A" "X" "1"] DRAW)
|
||||
(["A" "Y" "1"] WIN)
|
||||
(["B" "X" "1"] LOSE)
|
||||
(["B" "Y" "1"] DRAW)
|
||||
(["B" "Z" "1"] WIN)
|
||||
(["C" "Y" "1"] LOSE)
|
||||
(["C" "Z" "1"] DRAW)
|
||||
(["C" "X" "1"] WIN)
|
||||
([_ "X" "2"] LOSE)
|
||||
([_ "Y" "2"] DRAW)
|
||||
([_ "Z" "2"] WIN)
|
||||
(never otherwise)))
|
||||
|
||||
(function totalScore [round]
|
||||
(+ (playScore round) (outcomeScore round)))
|
||||
|
||||
(function readRounds [file encoding]
|
||||
(for line (Util.readLines file) (.concat (line.split " ") [encoding])))
|
||||
|
||||
(assert (= 9759 (apply + (.map (readRounds (input 2) "1") totalScore))))
|
||||
(assert (= 12429 (apply + (.map (readRounds (input 2) "2") totalScore))))
|
||||
31
projects/_standalone/aoc/src/year2022/Day3.kiss
Normal file
31
projects/_standalone/aoc/src/year2022/Day3.kiss
Normal file
@@ -0,0 +1,31 @@
|
||||
(var itemPriorities (for [idx c] (enumerate (defAndCall function allCharCodes (concat (for c (range 26) (+ .code "a" c)) (for c (range 26) (+ .code "A" c))))) =>(String.fromCharCode c) (+ idx 1)))
|
||||
|
||||
(function splitHalves [:String line]
|
||||
(let [halfLen (iHalf line.length)]
|
||||
[(line.substr 0 halfLen) (line.substr halfLen)]))
|
||||
|
||||
(function duplicateItem [:String line]
|
||||
(let [[firstHalf secondHalf] (splitHalves line)
|
||||
firstHalfMap (for char (firstHalf.split "") =>char true)]
|
||||
(doFor char (secondHalf.split "") (when (firstHalfMap.exists char) (return char))))
|
||||
"")
|
||||
|
||||
(assert (= 8018 (apply + (for item (filter (.map (Util.readLines (input 3)) duplicateItem)) (dictGet itemPriorities item)))))
|
||||
|
||||
(function :Map<String,Map<Int,Bool>> emptyGroupPossessionMap [] (for c (allCharCodes) =>(String.fromCharCode c) (new Map)))
|
||||
|
||||
(var GROUP_SIZE 3)
|
||||
|
||||
(assert
|
||||
(= 2518
|
||||
(apply +
|
||||
(for group (groups (Util.readLines (input 3)) GROUP_SIZE)
|
||||
(let [&mut freqMap (emptyGroupPossessionMap)
|
||||
&mut badge ""]
|
||||
(doFor [idx :String elf] (enumerate group)
|
||||
(doFor char (elf.split "")
|
||||
(dictSet (dictGet freqMap char) idx true)
|
||||
(when (= GROUP_SIZE (count (dictGet freqMap char)))
|
||||
(set badge char)
|
||||
(break))))
|
||||
(dictGet itemPriorities badge))))))
|
||||
15
projects/_standalone/aoc/src/year2022/Day4.kiss
Normal file
15
projects/_standalone/aoc/src/year2022/Day4.kiss
Normal file
@@ -0,0 +1,15 @@
|
||||
(defMacro intOverlapCheck [name &body cases]
|
||||
`(function ,name [line]
|
||||
(let [[min1 inner max2] (line.split "-")
|
||||
[max1 min2] (inner.split ",")]
|
||||
(or
|
||||
,@(for _case cases
|
||||
`(apply <= (.map ,_case Std.parseInt)))))))
|
||||
|
||||
(intOverlapCheck oneIsSubset [min1 min2 max2 max1] [min2 min1 max1 max2])
|
||||
|
||||
(assert (= 441 .length (filter (Util.readLines (input 4)) oneIsSubset)))
|
||||
|
||||
(intOverlapCheck hasOverlap [min1 min2 max1] [min1 max2 max1] [min2 min1 max2] [min2 max1 max2])
|
||||
|
||||
(assert (= 861 .length (filter (Util.readLines (input 4)) hasOverlap)))
|
||||
31
projects/_standalone/aoc/src/year2022/Day5.kiss
Normal file
31
projects/_standalone/aoc/src/year2022/Day5.kiss
Normal file
@@ -0,0 +1,31 @@
|
||||
(let [[manifest commands] (Util.readParagraphLines (input 5))
|
||||
:Map<String,kiss.List<String>> stacks (new Map)]
|
||||
(case manifest
|
||||
([::...stackLines labelsLine]
|
||||
(let [rows (reverse (collect (range stackLines.length)))
|
||||
labels (filter (enumerate (labelsLine.split "")) ->idxPair (let [[idx :String c] idxPair] (< 0 .length (c.trim))))]
|
||||
(doFor [idx label] labels
|
||||
(dictSet stacks label [])
|
||||
(doFor row rows
|
||||
(whenLet [crate (.trim (.charAt (nth stackLines row) idx))]
|
||||
(.push (dictGet stacks label) crate))))
|
||||
// Within this block, stacks contains the parsed model of the manifest,
|
||||
// and commands contains the instructions for moving the crates around
|
||||
(withFunctions
|
||||
[
|
||||
(simulateCommands [:Map<String,kiss.List<String>> stacks :Bool part1]
|
||||
(doFor command commands
|
||||
(case (command.split " ")
|
||||
(["move" count "from" from "to" to]
|
||||
(let [count (Std.parseInt count)
|
||||
fromList (.copy (dictGet stacks from))
|
||||
toList (dictGet stacks to)
|
||||
toMove (fromList.splice -count count)]
|
||||
(dictSet stacks from fromList)
|
||||
(dictSet stacks to (toList.concat (if part1 (reverse toMove) toMove)))))
|
||||
(never otherwise)))
|
||||
(.join (for label (sort (collect (stacks.keys))) (last (dictGet stacks label))) ""))
|
||||
]
|
||||
(assert (= "TWSGQHNHL" (simulateCommands (stacks.copy) true)))
|
||||
(assert (= "JNRSCDWPP" (simulateCommands (stacks.copy) false))))))
|
||||
(never otherwise)))
|
||||
17
projects/_standalone/aoc/src/year2022/Day6.kiss
Normal file
17
projects/_standalone/aoc/src/year2022/Day6.kiss
Normal file
@@ -0,0 +1,17 @@
|
||||
(function nextMarkerEnd [:String buffer :Int start :Int markerLength]
|
||||
(let [:Map<Int,Int> lastNCharMap (new Map)]
|
||||
(doFor idx (range start buffer.length)
|
||||
// Decrement and remove the letters that are no longer within the window of the last 4
|
||||
(doFor =>letter counter lastNCharMap
|
||||
(let [nextCounter (- counter 1)]
|
||||
(if (= 0 nextCounter)
|
||||
(lastNCharMap.remove letter)
|
||||
(dictSet lastNCharMap letter nextCounter))))
|
||||
(dictSet lastNCharMap (buffer.fastCodeAt idx) markerLength)
|
||||
(when (= markerLength (count lastNCharMap))
|
||||
(return (+ 1 idx)))))
|
||||
null)
|
||||
|
||||
(assert (= 5 (nextMarkerEnd "bvwbjplbgvbhsrlpgdmjqwftvncz" 0 4)))
|
||||
(assert (= 1566 (nextMarkerEnd (first (Util.readLines (input 6))) 0 4)))
|
||||
(assert (= 2265 (nextMarkerEnd (first (Util.readLines (input 6))) 0 14)))
|
||||
60
projects/_standalone/aoc/src/year2022/Day7.kiss
Normal file
60
projects/_standalone/aoc/src/year2022/Day7.kiss
Normal file
@@ -0,0 +1,60 @@
|
||||
(import year2022.FileSystem)
|
||||
|
||||
(function :FileSystem reconstructFileSystem [file]
|
||||
(let [:FileSystem rootFs (Folder [=>"/" (Folder (new Map))])
|
||||
&mut :FileSystem currFs rootFs
|
||||
terminalLines (Util.readLines file)]
|
||||
(doFor line terminalLines
|
||||
(case (line.split " ")
|
||||
(["\$" "ls"] null)
|
||||
(["dir" dir] null)
|
||||
(["\$" "cd" dir]
|
||||
(case currFs
|
||||
((Folder contents)
|
||||
(if (contents.exists dir)
|
||||
(set currFs (dictGet contents dir))
|
||||
(let [newFolder (Folder [=>".." currFs])]
|
||||
(dictSet contents dir newFolder)
|
||||
(set currFs newFolder))))
|
||||
(never otherwise)))
|
||||
([size file]
|
||||
(case currFs
|
||||
((Folder contents)
|
||||
(dictSet contents file (File (Std.parseInt size))))
|
||||
(never otherwise)))
|
||||
(never otherwise)))
|
||||
rootFs))
|
||||
|
||||
(var &mut :Float sumUnder100000)
|
||||
(function :SizeStats sizeStats [:FileSystem fs &opt :Array<String> path :SizeStats stats]
|
||||
(unless path
|
||||
(set path [])
|
||||
(set sumUnder100000 0))
|
||||
(unless stats (set stats (new Map)))
|
||||
(when !(stats.exists (path.join "/"))
|
||||
(dictSet stats (path.join "/")
|
||||
(case fs
|
||||
((Folder contents)
|
||||
(let [size
|
||||
(apply +
|
||||
(for =>innerPath innerFs contents
|
||||
(ifLet [".." innerPath]
|
||||
0
|
||||
(let [fullPath (path.concat [innerPath])]
|
||||
(sizeStats innerFs fullPath stats)
|
||||
(dictGet stats (fullPath.join "/"))))))]
|
||||
(when (>= 100000 size) (+= sumUnder100000 size))
|
||||
size))
|
||||
((File size)
|
||||
size)
|
||||
(never otherwise))))
|
||||
stats)
|
||||
(let [fs (reconstructFileSystem (input 7))
|
||||
stats (sizeStats fs)
|
||||
sizeAvailable (- 70000000 (dictGet stats "/"))
|
||||
minSizeToDelete (- 30000000 sizeAvailable)]
|
||||
(assert (= 1449447 sumUnder100000))
|
||||
(assert (= 8679207 (apply min (for =>path size stats
|
||||
(if (>= size minSizeToDelete)
|
||||
size
|
||||
(continue)))))))
|
||||
50
projects/_standalone/aoc/src/year2022/Day8.kiss
Normal file
50
projects/_standalone/aoc/src/year2022/Day8.kiss
Normal file
@@ -0,0 +1,50 @@
|
||||
(function visibleTrees [file]
|
||||
(let [lines (Util.readLines file)
|
||||
:Array<Array<Bool>> visibleTrees
|
||||
(for x (range .length (first lines))
|
||||
(for y (range lines.length) false))]
|
||||
(withFunctions
|
||||
[
|
||||
(:Array<Array<Array<Int>>> horizontalViews [perspectiveRight]
|
||||
(for [y :String line] (enumerate lines)
|
||||
(let [&mut maxHeight -1
|
||||
xList (collect (range line.length))
|
||||
xInOrder (if perspectiveRight (reverse xList) xList)]
|
||||
(for x xInOrder
|
||||
(case (Std.parseInt (line.charAt x))
|
||||
((when (= maxHeight 9) obscuredHeight)
|
||||
(break))
|
||||
((when (>= maxHeight obscuredHeight) obscuredHeight)
|
||||
(continue))
|
||||
(height
|
||||
(set maxHeight height)
|
||||
[x y height])
|
||||
(never otherwise))))))
|
||||
(:Array<Array<Array<Int>>> verticalViews [perspectiveBottom]
|
||||
(let [&mut maxHeight -1
|
||||
yList (collect (range lines.length))
|
||||
yInOrder (if perspectiveBottom (reverse yList) yList)]
|
||||
(for x (range .length (first lines))
|
||||
(set maxHeight -1)
|
||||
(for y yInOrder
|
||||
(when (= maxHeight 9)
|
||||
(break))
|
||||
(let [height (Std.parseInt (.charAt (nth lines y) x))]
|
||||
(when (>= maxHeight height)
|
||||
(continue))
|
||||
(set maxHeight height)
|
||||
[x y height])))))
|
||||
]
|
||||
(let [views
|
||||
(concat
|
||||
(horizontalViews false)
|
||||
(horizontalViews true)
|
||||
(verticalViews false)
|
||||
(verticalViews true))]
|
||||
(doFor :Array<Array<Int>> view views
|
||||
(doFor [x y height] view
|
||||
(setNth visibleTrees x y true))))
|
||||
(count (flatten visibleTrees) ->visible visible))))
|
||||
|
||||
(assertEquals 21 (visibleTrees "src/year2022/inputs/day8example.txt"))
|
||||
(assertEquals 1672 (visibleTrees (input 8)))
|
||||
8
projects/_standalone/aoc/src/year2022/FileSystem.hx
Normal file
8
projects/_standalone/aoc/src/year2022/FileSystem.hx
Normal file
@@ -0,0 +1,8 @@
|
||||
package year2022;
|
||||
|
||||
typedef SizeStats = Map<String,Int>;
|
||||
|
||||
enum FileSystem {
|
||||
File(size:Int);
|
||||
Folder(contents:Map<String,FileSystem>);
|
||||
}
|
||||
3
projects/_standalone/aoc/src/year2022/Food.hx
Normal file
3
projects/_standalone/aoc/src/year2022/Food.hx
Normal file
@@ -0,0 +1,3 @@
|
||||
package year2022;
|
||||
|
||||
typedef Food = Array<Int>;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user