From fc55b91f7c1f0493edb903ae75652d1f78a1be41 Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Mon, 22 Dec 2025 08:57:57 +0100 Subject: [PATCH] day12 --- day12.py | 37 ++ inputs/input12 | 1030 +++++++++++++++++++++++++++++++++++++++++++ inputs/input12_test | 33 ++ 3 files changed, 1100 insertions(+) create mode 100644 day12.py create mode 100644 inputs/input12 create mode 100644 inputs/input12_test diff --git a/day12.py b/day12.py new file mode 100644 index 0000000..5f2bfd8 --- /dev/null +++ b/day12.py @@ -0,0 +1,37 @@ +from tools.aoc import AOCDay +from typing import Any + +from tools.grid import Grid + + +class Day(AOCDay): + inputs = [ + [ + #(2, "input12_test"), # the test is a lie + (544, "input12"), + ], + [ + (None, "input12"), + ] + ] + + def part1(self) -> Any: + blocks = self.getMultiLineInputAsArray() + presents = {int(p[0][0]): Grid.from_data(p[1:], translate={'#': True, '.': False}).getOnCount() for p in blocks[:-1]} + ans = 0 + for tree in blocks[-1]: + dim, pw = tree.split(": ") + row, col = map(int, dim.split("x")) + grid_size = row * col + present_size = sum(x * presents[i] for i, x in enumerate(map(int, pw.split()))) + if present_size < grid_size: + ans += 1 + return ans + + def part2(self) -> Any: + return "" + + +if __name__ == '__main__': + day = Day(2025, 12) + day.run(verbose=True) diff --git a/inputs/input12 b/inputs/input12 new file mode 100644 index 0000000..4095412 --- /dev/null +++ b/inputs/input12 @@ -0,0 +1,1030 @@ +0: +..# +.## +##. + +1: +### +#.# +#.# + +2: +### +.## +.## + +3: +#.. +##. +### + +4: +#.# +### +##. + +5: +### +.#. +### + +39x43: 31 33 40 22 27 28 +40x37: 39 23 40 36 48 42 +46x48: 50 61 47 64 56 61 +47x46: 55 62 43 57 66 50 +40x40: 28 34 19 25 28 35 +46x50: 71 60 62 62 39 64 +40x49: 40 28 33 33 34 39 +45x38: 44 46 44 33 44 51 +37x46: 55 32 38 48 40 53 +35x49: 31 23 29 29 34 29 +37x38: 27 36 36 50 29 38 +42x49: 37 44 45 28 37 33 +43x38: 37 42 33 40 55 43 +36x43: 53 40 31 45 38 36 +36x48: 36 30 34 32 33 27 +40x42: 35 22 32 25 30 37 +49x50: 40 38 40 48 39 50 +45x45: 51 47 54 41 63 54 +48x40: 29 39 33 30 35 41 +45x50: 35 44 34 43 45 39 +46x44: 57 46 45 58 58 50 +48x44: 41 34 36 42 31 40 +39x36: 39 33 40 35 32 38 +48x38: 40 55 40 33 60 49 +48x41: 37 33 40 39 31 28 +36x38: 32 46 41 35 24 32 +36x45: 42 32 44 45 39 48 +37x49: 22 35 32 30 34 38 +38x42: 43 33 45 37 56 32 +35x39: 32 30 36 40 38 34 +46x48: 34 34 37 39 50 45 +38x36: 49 35 32 36 34 29 +36x46: 31 39 32 28 27 23 +35x43: 31 34 47 42 36 40 +37x35: 17 23 21 27 24 20 +46x42: 35 33 40 33 40 28 +35x47: 42 43 48 46 39 36 +37x39: 30 27 32 24 13 29 +37x42: 27 32 30 30 23 26 +50x50: 58 61 77 48 68 69 +35x39: 26 26 22 21 17 31 +48x46: 43 36 40 48 39 34 +49x43: 64 62 56 44 49 51 +48x44: 33 40 37 28 47 38 +36x40: 27 34 48 36 37 37 +48x45: 43 35 46 29 43 44 +35x35: 20 31 27 35 39 34 +38x49: 47 44 62 44 39 50 +35x35: 29 30 26 24 32 46 +38x42: 26 26 26 37 27 26 +50x44: 54 60 61 50 63 49 +44x46: 52 52 57 55 43 53 +35x37: 27 24 24 15 22 19 +40x47: 23 30 34 38 44 25 +48x35: 48 38 57 34 47 35 +44x38: 29 28 27 25 26 33 +44x35: 19 32 29 25 23 25 +35x40: 31 41 30 34 39 39 +41x41: 40 49 47 37 41 43 +44x46: 39 38 34 32 36 30 +44x38: 32 25 36 25 25 24 +36x39: 26 23 28 19 25 34 +44x47: 46 41 31 36 30 25 +36x42: 30 28 32 23 25 29 +40x36: 24 32 41 30 43 47 +39x47: 34 24 31 35 34 36 +48x48: 42 62 57 61 73 55 +49x38: 37 31 33 27 35 29 +45x35: 24 21 25 27 33 35 +37x40: 28 30 19 18 29 31 +40x38: 32 27 22 15 31 29 +39x41: 43 47 50 29 37 39 +42x38: 40 36 42 44 42 42 +44x48: 68 43 54 47 50 66 +39x44: 38 50 53 40 37 44 +45x43: 56 57 53 52 42 40 +45x38: 26 31 38 25 31 28 +39x41: 29 28 25 22 29 35 +36x48: 27 38 23 34 34 35 +40x39: 46 46 42 33 35 39 +39x50: 48 56 54 46 46 49 +39x37: 32 36 34 31 43 44 +35x47: 40 45 44 58 37 31 +50x40: 51 56 45 44 59 52 +36x39: 43 41 34 26 41 32 +45x46: 40 30 36 39 46 33 +41x36: 34 41 54 29 35 32 +49x46: 46 38 44 25 38 48 +48x44: 30 45 29 31 43 45 +35x48: 31 32 27 29 25 32 +49x41: 40 31 35 30 33 39 +35x47: 45 47 37 41 42 42 +42x38: 23 24 27 22 36 36 +39x46: 36 37 33 31 30 28 +48x49: 40 38 54 49 32 43 +42x46: 56 41 45 54 53 51 +43x45: 53 36 49 56 54 52 +47x42: 31 31 30 35 38 44 +47x44: 30 42 29 39 39 31 +43x41: 27 33 35 35 25 27 +42x49: 47 50 49 71 55 46 +45x40: 53 44 36 59 44 45 +35x45: 22 25 28 34 22 34 +42x37: 28 22 27 28 31 32 +35x40: 25 22 26 21 22 27 +43x39: 27 27 25 28 37 38 +45x37: 40 44 34 51 42 46 +40x35: 22 27 25 25 18 26 +37x43: 39 27 23 26 25 28 +50x45: 37 39 44 38 44 38 +41x46: 31 31 48 28 30 26 +40x35: 17 22 30 29 27 18 +43x48: 42 34 42 35 43 27 +45x39: 49 46 50 41 37 48 +46x39: 43 29 35 35 27 25 +44x49: 54 56 61 73 44 46 +39x35: 34 34 41 28 33 39 +40x40: 51 38 40 38 36 46 +42x35: 27 22 32 34 16 23 +48x47: 42 44 34 40 35 44 +40x37: 23 34 26 22 29 21 +39x50: 43 58 47 62 35 55 +42x46: 32 41 35 34 32 35 +49x47: 42 38 34 47 42 37 +37x47: 49 30 31 23 26 21 +49x35: 27 32 32 38 23 23 +49x45: 29 46 44 39 44 37 +46x45: 36 45 36 42 28 37 +39x47: 36 45 51 52 52 44 +36x42: 33 37 42 44 48 28 +37x38: 23 22 30 21 24 24 +49x45: 70 58 57 55 51 52 +40x39: 35 49 43 34 42 35 +41x39: 41 45 47 38 38 37 +38x49: 48 56 44 41 56 41 +50x42: 67 56 44 59 53 49 +50x50: 40 32 35 45 51 52 +37x43: 32 40 40 38 39 53 +48x38: 30 33 30 30 33 36 +49x44: 62 43 52 55 70 52 +41x42: 25 32 28 34 30 33 +45x46: 45 38 26 32 42 41 +41x36: 23 37 26 21 34 15 +47x42: 38 34 37 38 32 30 +40x46: 34 33 36 34 32 26 +45x43: 60 44 44 43 55 54 +47x38: 30 28 31 33 26 32 +48x35: 38 49 43 47 33 48 +49x38: 29 33 35 25 31 39 +49x47: 45 36 36 44 46 33 +36x45: 34 41 46 31 39 55 +47x46: 59 52 52 56 60 55 +35x41: 15 24 28 21 22 32 +47x48: 61 51 63 57 57 59 +40x35: 21 21 18 26 22 35 +46x44: 50 50 52 52 49 58 +46x42: 43 48 54 51 51 49 +42x47: 32 41 40 35 32 29 +50x38: 31 31 29 28 42 31 +40x47: 30 37 28 24 32 43 +37x35: 29 20 29 16 18 20 +47x42: 41 51 42 71 52 47 +35x40: 35 34 32 32 46 36 +45x41: 36 31 31 31 37 29 +38x45: 34 33 24 29 27 33 +44x50: 64 66 56 49 56 49 +35x41: 43 45 34 37 33 31 +50x49: 43 41 49 55 29 38 +39x48: 28 42 38 31 37 31 +39x41: 27 30 20 36 24 32 +38x40: 32 35 56 32 38 38 +49x45: 69 66 53 43 59 51 +35x48: 36 34 34 29 20 22 +36x42: 14 25 40 31 30 27 +37x38: 31 42 35 41 38 29 +41x44: 32 33 30 29 33 25 +47x49: 49 38 45 39 36 33 +39x46: 36 27 34 35 28 34 +50x50: 52 72 52 61 81 63 +41x41: 38 53 40 34 41 50 +38x37: 39 32 35 33 47 31 +48x43: 39 37 34 50 33 30 +36x39: 23 21 28 26 23 34 +39x44: 28 23 31 37 38 25 +47x39: 33 33 36 25 35 32 +37x42: 34 40 49 34 36 44 +35x38: 27 18 23 20 23 20 +40x40: 23 35 23 26 22 40 +49x47: 49 52 67 54 67 62 +42x45: 30 30 41 37 32 40 +47x49: 36 34 51 42 38 38 +41x38: 41 34 36 51 42 38 +35x38: 29 33 40 37 35 30 +46x43: 34 39 33 33 34 37 +40x48: 55 38 49 55 49 52 +47x36: 38 27 27 35 28 25 +48x36: 44 46 49 44 47 36 +44x43: 35 25 38 42 24 32 +42x35: 35 37 38 41 39 36 +38x44: 49 41 47 35 43 43 +36x36: 21 21 27 20 30 25 +38x41: 31 43 38 36 58 31 +46x36: 44 30 42 39 48 52 +42x43: 48 56 35 41 48 50 +47x49: 37 45 41 38 41 37 +37x38: 26 23 24 25 25 20 +41x44: 44 26 28 29 28 27 +38x37: 17 28 23 25 28 23 +47x39: 28 29 35 30 38 34 +42x41: 31 33 26 29 35 27 +38x37: 23 24 27 25 20 24 +44x42: 36 33 31 29 34 32 +40x40: 46 51 45 29 33 42 +48x44: 34 49 31 30 39 40 +48x41: 33 38 38 33 32 34 +43x44: 34 36 34 33 28 31 +35x50: 41 50 44 35 54 43 +42x39: 55 45 43 43 36 34 +42x47: 40 34 42 32 34 28 +44x35: 28 28 22 25 26 25 +49x42: 39 33 33 40 40 38 +49x42: 43 29 45 32 40 35 +44x37: 35 40 45 37 43 48 +50x43: 60 42 42 59 77 53 +39x48: 43 48 59 43 52 41 +39x41: 21 25 37 35 27 24 +46x42: 20 26 37 45 40 41 +49x45: 37 45 32 44 40 41 +40x46: 23 38 32 29 30 42 +36x45: 49 34 42 43 40 44 +50x46: 45 38 40 27 39 50 +35x48: 26 29 39 29 30 22 +44x44: 57 48 53 40 59 42 +47x41: 36 35 30 33 22 38 +50x38: 46 59 50 49 39 49 +35x37: 16 26 24 26 14 25 +39x40: 32 50 39 46 40 32 +46x41: 44 48 54 39 55 48 +45x42: 55 46 49 57 38 49 +44x35: 36 40 36 39 42 43 +38x46: 45 51 45 43 45 40 +37x40: 33 23 35 25 19 21 +40x45: 53 43 44 45 52 42 +50x44: 43 35 32 42 44 27 +50x49: 44 40 51 42 39 40 +45x50: 36 37 41 42 40 44 +49x45: 24 40 49 44 45 38 +50x45: 67 58 62 63 46 54 +36x35: 44 30 37 36 27 24 +42x42: 49 59 47 33 41 42 +44x50: 41 37 34 38 31 42 +43x45: 51 53 48 48 49 49 +49x41: 47 55 58 52 49 47 +39x46: 38 19 26 41 29 42 +50x43: 35 46 35 33 35 39 +49x50: 46 45 42 45 44 33 +43x43: 46 47 53 39 52 46 +50x42: 33 35 37 51 35 33 +49x41: 38 43 35 34 30 27 +37x48: 30 31 30 35 33 33 +47x41: 50 59 44 43 46 54 +43x40: 43 48 38 48 48 40 +43x50: 51 54 54 70 44 59 +50x43: 43 41 37 32 36 35 +43x40: 26 32 37 25 34 28 +37x39: 45 34 33 27 37 47 +36x45: 49 34 39 43 44 43 +46x38: 26 21 28 41 25 38 +48x40: 39 53 43 51 54 53 +48x38: 26 28 35 41 26 36 +35x37: 30 14 31 17 16 24 +50x47: 40 47 31 36 43 43 +50x46: 32 45 37 32 45 48 +47x43: 34 38 36 34 33 34 +50x46: 34 37 42 39 44 44 +44x39: 30 31 34 25 26 36 +38x37: 39 35 37 41 32 34 +41x40: 29 23 31 33 24 28 +50x35: 32 32 32 32 27 20 +47x37: 44 42 48 41 48 44 +46x38: 43 47 39 40 51 48 +49x39: 28 36 31 37 39 37 +47x46: 29 41 33 38 43 40 +36x35: 20 21 18 29 22 21 +46x36: 27 30 31 29 44 19 +38x50: 48 52 39 54 55 45 +36x37: 22 24 24 27 27 20 +46x42: 52 41 45 49 51 60 +43x35: 21 42 41 46 36 42 +44x40: 40 66 41 47 37 39 +43x49: 32 30 33 39 39 50 +45x48: 31 37 44 47 41 39 +35x41: 20 23 25 35 20 20 +36x43: 30 26 29 34 27 21 +37x38: 21 25 23 26 23 26 +39x39: 41 33 36 34 48 42 +37x37: 19 23 26 18 30 27 +36x40: 32 41 42 35 34 36 +37x49: 43 55 50 45 43 42 +41x40: 50 46 33 43 40 43 +46x50: 48 40 38 41 36 37 +47x42: 34 41 37 32 24 42 +37x35: 32 47 32 33 28 27 +40x41: 28 43 44 51 41 43 +48x49: 46 47 35 39 46 42 +38x35: 31 34 37 26 37 38 +46x39: 41 43 50 48 45 48 +40x38: 45 33 43 34 43 37 +40x46: 52 53 36 50 57 37 +43x48: 33 32 38 40 37 43 +42x50: 48 68 53 49 50 53 +41x37: 26 28 21 30 23 28 +48x50: 39 38 52 42 38 46 +41x40: 32 27 27 24 32 26 +49x36: 32 33 29 29 33 36 +40x43: 44 49 46 39 39 47 +50x37: 51 47 62 56 34 37 +50x44: 39 34 38 39 44 30 +36x39: 32 34 41 42 38 29 +45x50: 53 68 53 57 57 57 +36x45: 23 23 31 28 30 45 +42x39: 25 27 29 35 32 34 +49x40: 38 39 24 29 39 38 +49x39: 41 26 37 35 35 33 +47x40: 38 32 32 27 34 31 +40x48: 48 47 48 60 50 44 +46x48: 64 61 57 41 50 67 +38x35: 20 38 40 35 31 37 +44x39: 22 32 34 33 35 25 +48x45: 65 63 45 53 62 47 +47x40: 48 47 45 45 55 49 +41x43: 47 38 38 46 51 52 +50x43: 46 58 52 58 65 50 +38x46: 44 49 39 51 41 46 +47x38: 36 20 26 31 32 35 +40x49: 33 29 34 42 33 37 +40x44: 46 40 43 43 48 51 +42x47: 52 50 47 56 46 54 +40x49: 30 30 45 35 36 31 +49x42: 37 33 34 29 36 54 +46x48: 50 57 54 64 61 53 +41x37: 39 35 38 42 38 42 +45x49: 38 38 41 33 45 45 +41x50: 35 30 36 46 27 34 +36x50: 31 32 31 27 29 42 +50x36: 24 33 35 28 33 39 +44x50: 34 40 41 35 40 33 +50x46: 52 50 62 71 56 63 +38x36: 22 27 25 23 22 25 +47x35: 23 31 18 34 32 26 +37x37: 31 38 29 36 34 42 +50x39: 38 36 27 28 36 42 +48x38: 29 31 33 35 43 20 +38x48: 58 37 33 61 47 50 +36x38: 37 41 42 26 29 35 +41x39: 19 33 30 28 27 32 +49x41: 38 30 42 32 33 32 +43x42: 40 52 50 44 50 40 +42x48: 52 62 50 49 45 52 +39x44: 48 50 39 49 37 43 +47x43: 33 34 36 40 30 36 +37x42: 23 24 39 30 16 35 +50x37: 31 30 34 35 30 32 +44x42: 40 35 25 31 29 36 +45x46: 46 39 28 38 33 40 +39x35: 35 38 36 32 33 36 +47x50: 35 49 41 42 41 32 +45x48: 54 49 68 54 54 53 +43x50: 43 31 26 43 41 40 +41x35: 27 20 16 26 26 27 +38x49: 34 33 30 35 23 37 +49x46: 35 39 36 48 47 34 +48x49: 43 41 43 54 39 36 +47x48: 67 72 50 57 49 55 +36x41: 24 18 32 34 31 16 +38x45: 44 39 47 47 41 46 +40x46: 33 33 33 20 41 34 +46x44: 50 63 53 59 50 37 +49x35: 52 45 48 41 36 44 +44x36: 17 35 25 35 27 28 +41x48: 34 29 46 33 34 31 +48x48: 67 53 63 60 51 63 +41x43: 42 47 40 49 58 35 +38x35: 35 35 27 39 32 38 +35x47: 40 40 53 45 38 37 +49x39: 57 52 40 52 48 48 +46x35: 25 22 29 29 22 37 +44x47: 36 39 30 37 34 33 +50x48: 63 60 76 48 58 63 +35x50: 39 51 43 47 54 34 +45x38: 42 33 22 19 30 34 +44x45: 39 30 35 32 37 37 +37x46: 33 25 33 28 34 26 +40x49: 38 40 35 24 39 32 +46x45: 44 50 53 52 61 56 +40x49: 49 47 64 48 48 45 +41x50: 41 35 37 28 38 28 +42x38: 30 33 29 32 22 21 +36x41: 43 33 37 38 36 42 +36x47: 31 35 28 33 28 25 +35x50: 21 29 24 38 32 32 +37x35: 22 25 26 25 16 17 +37x46: 51 39 46 48 45 36 +45x44: 36 34 39 37 32 31 +49x40: 35 42 31 33 34 33 +48x38: 50 40 50 49 43 50 +41x46: 38 34 26 34 28 34 +47x36: 29 30 28 28 35 30 +40x47: 46 54 46 42 54 46 +50x48: 35 33 47 48 42 50 +44x47: 58 56 47 48 56 54 +35x40: 31 40 36 42 32 34 +48x48: 68 60 40 77 62 53 +48x45: 39 47 44 44 30 35 +41x42: 50 25 28 33 19 27 +46x38: 28 35 30 28 28 31 +46x43: 32 46 28 28 35 41 +40x40: 31 28 29 20 27 33 +38x42: 33 30 21 25 34 25 +46x38: 26 26 23 37 35 33 +48x41: 56 48 45 38 53 63 +49x39: 40 36 27 33 43 29 +48x48: 59 53 54 68 69 53 +44x48: 57 50 67 55 53 44 +41x47: 49 40 65 51 38 54 +41x40: 36 46 41 43 40 45 +43x37: 39 47 42 43 40 34 +41x47: 30 26 37 25 37 39 +42x47: 35 27 41 32 38 37 +41x38: 31 28 22 24 21 29 +49x39: 37 28 34 35 40 33 +41x36: 47 45 25 39 34 40 +44x41: 31 39 33 32 26 21 +37x43: 26 24 27 39 33 19 +40x50: 36 43 39 35 29 25 +41x47: 33 41 23 24 33 40 +47x37: 30 26 38 29 28 28 +37x37: 29 42 30 33 41 34 +40x43: 40 45 40 46 44 49 +43x35: 23 26 20 28 24 33 +35x37: 40 41 27 31 29 33 +42x44: 41 40 23 27 26 38 +47x42: 24 32 34 40 43 37 +38x40: 24 25 26 19 24 38 +36x35: 24 21 24 20 18 25 +47x50: 65 48 67 60 58 65 +48x42: 34 31 38 46 37 37 +38x44: 22 35 23 41 25 22 +48x50: 63 50 57 47 86 65 +40x35: 23 21 20 26 24 28 +42x49: 36 37 35 39 38 38 +35x42: 31 46 47 40 34 27 +39x46: 45 49 36 38 45 62 +46x45: 64 50 51 62 47 49 +40x38: 43 46 32 44 29 42 +38x35: 21 25 26 29 15 15 +36x46: 31 37 29 27 25 31 +40x42: 27 31 35 29 34 25 +45x37: 24 35 26 24 31 39 +39x35: 39 35 41 33 30 33 +50x38: 48 52 53 38 42 58 +45x43: 47 52 47 40 52 58 +42x46: 41 35 26 43 40 25 +46x39: 42 40 44 53 51 46 +46x38: 47 46 40 52 44 42 +40x42: 54 39 52 45 36 36 +44x49: 54 58 50 50 70 49 +41x46: 38 35 33 30 29 29 +41x43: 41 39 45 37 55 52 +50x36: 29 28 37 33 32 33 +36x38: 28 34 34 29 46 37 +40x48: 38 46 59 39 58 51 +50x35: 39 25 37 24 27 23 +39x36: 20 28 35 20 26 27 +44x48: 38 33 37 43 33 40 +41x49: 49 56 43 60 51 51 +41x41: 33 46 47 43 40 47 +47x40: 40 57 42 62 43 45 +50x45: 54 63 57 54 49 68 +50x50: 67 63 70 53 66 65 +37x38: 21 32 23 22 21 25 +45x49: 35 43 42 42 41 36 +49x48: 58 63 59 51 61 68 +35x36: 24 18 22 22 20 26 +45x37: 30 27 28 29 41 24 +41x43: 32 27 36 25 36 26 +47x39: 51 46 48 37 49 51 +44x44: 34 28 28 34 29 42 +50x44: 62 55 52 55 61 55 +45x40: 36 28 36 36 24 34 +41x39: 31 23 28 35 32 19 +45x49: 45 52 53 61 61 65 +43x46: 38 41 28 34 37 32 +48x35: 34 25 30 28 31 27 +38x41: 23 18 27 31 28 29 +41x49: 40 39 34 31 36 28 +38x41: 20 32 20 24 33 26 +42x44: 29 19 37 36 29 46 +44x45: 31 34 35 39 37 34 +40x40: 29 23 30 32 25 30 +39x50: 35 37 34 29 29 44 +35x36: 35 26 32 41 30 32 +37x47: 44 46 43 39 47 48 +47x41: 54 54 43 49 46 52 +42x43: 27 30 40 42 27 29 +39x40: 23 39 23 26 29 28 +40x45: 51 43 53 55 38 40 +36x36: 23 26 31 22 20 21 +48x35: 53 32 38 46 37 56 +35x42: 43 47 36 30 32 39 +45x47: 48 37 40 35 26 38 +40x43: 46 44 54 33 44 43 +42x35: 28 24 25 21 26 30 +46x50: 63 50 65 65 54 59 +35x38: 24 23 21 13 21 30 +42x49: 45 59 58 56 49 48 +44x40: 28 38 26 29 31 30 +41x39: 36 26 28 22 27 29 +48x48: 38 56 35 38 46 43 +46x44: 48 48 61 42 49 61 +47x42: 45 52 48 55 48 55 +42x44: 21 34 36 23 45 37 +39x47: 42 33 25 38 27 29 +35x46: 27 23 29 32 29 24 +44x50: 68 56 55 55 43 65 +43x37: 30 34 28 22 35 19 +47x43: 39 36 29 34 31 40 +44x42: 42 44 54 41 50 51 +50x37: 35 31 33 36 20 37 +35x43: 23 30 29 28 19 24 +44x38: 26 19 31 26 34 31 +41x41: 23 27 30 31 26 32 +44x43: 39 29 31 32 32 32 +40x47: 35 33 34 33 30 30 +43x47: 31 45 35 24 36 38 +49x44: 39 31 37 31 42 43 +44x41: 47 40 49 45 38 59 +47x36: 40 38 29 24 23 26 +46x42: 37 50 52 49 51 55 +39x39: 31 39 50 45 36 32 +37x41: 29 27 23 29 18 30 +39x40: 27 35 16 25 33 32 +50x36: 47 49 51 37 53 39 +46x35: 22 39 23 22 32 26 +47x45: 36 29 28 37 43 51 +45x43: 42 39 33 30 28 37 +44x38: 35 21 23 30 30 29 +44x45: 34 31 38 40 37 30 +45x46: 41 29 31 42 46 35 +38x39: 40 47 38 39 35 30 +47x44: 42 37 36 29 30 36 +42x41: 50 42 46 32 54 41 +42x38: 42 48 40 47 26 44 +40x48: 35 38 30 30 40 34 +39x46: 34 24 33 32 42 29 +48x36: 46 39 57 39 43 42 +43x41: 45 50 49 49 42 37 +49x49: 53 57 69 68 58 63 +46x45: 48 31 30 49 28 39 +37x40: 43 43 32 36 45 30 +49x45: 37 41 35 47 51 29 +40x35: 25 21 25 22 20 30 +39x44: 47 40 49 50 37 43 +50x46: 34 38 43 46 40 39 +44x41: 29 29 34 34 20 35 +35x37: 26 34 34 29 40 34 +36x49: 44 23 47 20 23 34 +46x44: 39 31 31 26 40 43 +45x38: 35 18 36 30 30 31 +42x47: 33 36 35 40 32 33 +37x39: 33 38 19 21 24 20 +50x37: 39 51 40 45 58 49 +45x38: 24 36 37 15 31 36 +44x36: 26 26 27 32 29 27 +36x50: 49 44 51 40 37 56 +36x44: 27 24 32 25 28 31 +43x40: 39 47 48 41 46 42 +39x38: 34 38 36 44 33 43 +49x35: 27 37 26 30 28 28 +41x41: 31 19 34 26 30 28 +42x39: 23 25 34 35 42 23 +50x36: 51 53 45 43 38 48 +39x49: 53 45 57 46 54 40 +39x42: 46 32 50 38 40 47 +38x41: 22 23 25 32 31 23 +35x49: 31 27 29 27 26 36 +46x40: 47 54 43 38 60 40 +35x38: 35 26 32 32 30 50 +49x38: 25 39 25 30 32 41 +48x49: 43 44 40 50 38 41 +35x43: 43 28 54 32 37 38 +40x49: 33 35 36 32 35 36 +49x47: 48 37 37 43 29 45 +47x49: 66 62 60 63 52 54 +35x45: 22 24 27 27 30 34 +40x36: 40 35 34 38 41 35 +41x35: 30 17 23 29 21 23 +40x39: 31 41 37 35 43 50 +44x38: 43 51 42 33 40 47 +41x44: 23 21 39 20 37 41 +42x41: 30 36 32 33 18 32 +36x35: 34 33 20 49 30 31 +35x39: 29 34 33 53 32 30 +35x45: 47 45 29 44 40 40 +49x47: 49 75 65 46 57 58 +47x35: 38 35 51 42 50 36 +37x41: 17 34 22 23 28 32 +39x37: 34 38 31 34 38 46 +38x50: 32 28 28 31 31 42 +47x37: 49 35 46 52 47 41 +37x41: 43 44 36 41 28 43 +36x35: 25 16 17 33 21 19 +43x36: 31 32 40 48 41 45 +36x35: 32 34 31 33 37 27 +38x38: 41 41 40 33 40 28 +43x45: 59 58 38 45 53 47 +38x40: 30 24 25 24 24 29 +39x47: 48 38 62 43 47 44 +35x43: 41 32 35 49 40 37 +38x48: 25 31 42 22 43 29 +37x37: 20 22 22 27 25 28 +45x48: 49 67 58 49 59 48 +36x41: 20 35 21 35 19 26 +40x45: 49 43 53 40 39 53 +47x36: 37 29 28 22 33 31 +42x36: 29 23 35 25 35 21 +50x39: 24 35 35 35 44 35 +45x50: 36 46 31 39 46 42 +49x46: 45 38 44 36 36 40 +41x41: 24 36 24 29 29 27 +48x40: 39 51 40 57 54 53 +37x39: 45 37 33 34 35 40 +50x39: 51 58 54 39 44 53 +36x36: 19 22 34 26 20 22 +42x35: 22 26 24 20 30 31 +44x42: 39 26 33 35 32 30 +38x41: 38 39 48 37 32 45 +49x50: 61 72 66 57 66 54 +41x35: 48 33 41 28 36 37 +43x37: 41 36 31 55 44 40 +45x46: 41 42 30 40 35 36 +40x46: 32 32 37 25 31 37 +42x46: 47 28 41 35 34 25 +41x43: 36 29 24 29 30 34 +39x48: 38 59 43 37 45 62 +47x40: 40 45 26 24 35 25 +42x39: 29 26 27 34 34 31 +50x49: 56 58 67 68 69 58 +38x44: 27 33 28 27 30 23 +37x44: 29 28 24 22 30 34 +36x48: 42 30 28 32 31 28 +36x47: 41 47 47 43 42 40 +39x42: 27 29 35 30 30 30 +48x48: 60 62 56 52 60 64 +43x43: 36 24 39 34 24 39 +46x38: 40 37 53 40 50 47 +50x44: 43 33 33 41 26 48 +41x44: 28 27 26 39 27 34 +43x42: 34 27 44 32 18 40 +37x37: 30 34 42 31 32 40 +38x39: 29 38 38 47 45 30 +38x37: 37 37 28 38 42 35 +49x39: 51 47 43 56 46 53 +43x45: 45 53 48 52 45 54 +41x36: 41 41 36 29 41 39 +40x43: 37 36 54 37 45 53 +47x38: 26 32 31 31 33 27 +37x42: 19 30 29 25 32 32 +39x40: 35 40 39 48 38 40 +39x41: 35 45 46 36 53 29 +45x48: 37 46 29 42 36 49 +47x47: 62 52 52 60 53 63 +48x43: 52 51 48 62 53 53 +44x47: 36 26 38 35 38 37 +35x42: 39 29 46 38 40 35 +43x43: 62 46 60 47 42 32 +47x43: 38 39 34 29 43 26 +39x39: 29 34 31 17 22 35 +44x48: 37 44 40 36 35 31 +42x41: 45 36 60 41 38 45 +45x37: 29 36 36 26 25 27 +35x37: 22 23 24 27 20 16 +43x48: 53 49 53 60 57 47 +47x39: 32 38 33 33 28 30 +45x35: 35 36 37 39 49 45 +40x45: 39 50 42 51 46 48 +50x47: 30 36 39 50 48 36 +44x41: 45 55 39 43 48 47 +49x49: 43 51 39 45 43 35 +41x41: 31 29 36 19 27 26 +40x36: 24 21 25 24 31 30 +49x39: 55 56 47 56 46 37 +36x41: 19 24 30 24 25 34 +43x47: 35 39 30 38 35 32 +44x47: 41 33 28 36 41 30 +37x44: 51 42 52 33 33 41 +41x50: 57 53 54 52 46 55 +36x36: 19 23 26 32 14 30 +39x40: 38 42 43 35 43 38 +42x38: 35 46 49 40 37 37 +35x42: 39 42 49 31 29 36 +42x41: 32 31 33 29 24 33 +50x50: 67 58 54 74 75 59 +42x38: 26 25 25 27 32 32 +45x38: 39 34 26 22 29 29 +38x41: 34 37 39 38 41 49 +45x47: 46 38 40 44 27 30 +39x40: 33 27 21 36 19 33 +42x44: 44 45 50 51 48 46 +35x42: 26 37 22 21 21 26 +44x39: 45 58 40 40 36 45 +49x49: 48 46 39 37 41 45 +49x49: 53 57 65 53 77 61 +40x41: 26 35 26 27 26 28 +42x41: 27 27 26 37 36 29 +38x36: 26 20 23 25 20 29 +50x46: 39 34 32 44 52 39 +38x49: 51 54 46 37 50 48 +40x47: 34 25 29 38 40 29 +50x48: 39 40 42 35 56 44 +38x46: 54 37 43 46 48 44 +38x46: 22 33 35 33 27 30 +39x48: 44 34 31 28 41 30 +39x37: 25 35 30 15 24 27 +47x42: 35 31 37 37 34 35 +35x40: 30 45 40 30 27 41 +35x46: 33 28 23 25 26 29 +47x38: 33 29 28 28 34 28 +44x38: 26 24 32 37 32 17 +43x42: 39 29 32 35 22 38 +48x50: 39 36 49 35 49 47 +47x44: 39 38 36 31 33 33 +49x50: 57 63 66 67 70 53 +50x48: 62 51 74 56 64 62 +47x43: 30 31 37 33 36 42 +43x40: 48 43 52 37 42 43 +50x41: 29 47 43 30 32 26 +39x35: 28 26 23 22 20 24 +37x49: 39 29 24 25 41 34 +46x40: 47 55 43 38 45 54 +47x42: 51 55 63 49 38 48 +36x41: 28 21 27 24 31 24 +39x41: 26 30 27 27 40 18 +45x43: 41 48 48 53 54 52 +46x44: 37 43 28 37 31 34 +45x46: 50 47 47 55 54 65 +50x38: 45 44 47 45 56 54 +47x42: 30 38 37 36 31 38 +45x38: 28 44 27 26 28 26 +36x49: 45 50 48 34 40 53 +44x49: 56 60 51 54 59 52 +41x39: 36 35 46 43 38 47 +42x35: 25 13 29 29 27 30 +47x41: 49 54 47 51 57 39 +46x49: 44 36 34 34 48 44 +45x41: 41 52 48 53 39 50 +39x37: 27 32 36 42 46 37 +38x47: 41 53 35 33 59 51 +43x37: 27 33 32 26 29 20 +40x43: 49 41 43 41 48 44 +50x44: 34 28 42 36 37 47 +50x44: 49 38 32 35 38 31 +43x47: 42 63 45 56 58 45 +50x41: 33 31 33 39 32 39 +48x49: 52 60 70 62 49 67 +38x49: 40 58 50 52 46 39 +46x37: 35 26 36 31 28 24 +48x44: 30 43 41 33 38 39 +40x35: 29 21 19 31 20 22 +40x45: 40 50 45 43 49 48 +37x46: 26 27 32 26 36 33 +39x47: 31 34 33 31 34 32 +36x39: 31 33 34 37 38 42 +50x48: 48 42 31 53 33 49 +47x40: 38 29 30 28 35 35 +42x45: 57 47 42 39 56 51 +47x41: 47 63 40 56 33 58 +38x50: 43 57 42 35 60 52 +40x50: 25 38 41 31 34 38 +37x42: 29 28 31 22 31 26 +40x50: 47 45 50 53 47 65 +50x37: 47 46 46 41 48 56 +48x36: 32 36 31 31 37 25 +46x48: 45 62 59 66 54 52 +45x38: 33 25 29 35 30 27 +45x39: 34 48 44 50 50 42 +44x42: 46 53 33 46 40 66 +50x47: 62 69 50 65 57 60 +49x48: 41 36 46 37 56 39 +35x41: 22 25 21 29 26 19 +48x36: 41 51 38 57 38 42 +35x50: 27 39 22 32 29 27 +48x48: 57 48 55 65 61 69 +48x44: 35 29 37 34 47 41 +35x49: 41 41 41 55 50 37 +44x49: 50 59 56 58 43 65 +39x35: 36 26 34 39 36 40 +45x40: 56 59 45 38 45 36 +47x35: 46 49 36 38 40 45 +48x48: 43 47 35 47 40 44 +37x47: 57 32 37 49 49 48 +45x35: 43 39 43 30 44 43 +43x36: 26 17 29 33 28 35 +38x41: 36 30 48 54 37 36 +44x39: 50 53 50 38 43 31 +46x47: 32 37 40 37 36 43 +41x37: 30 27 23 23 26 27 +48x49: 45 51 39 39 28 53 +44x38: 31 31 26 23 28 29 +41x41: 41 46 50 42 43 36 +36x44: 18 29 25 30 32 33 +39x42: 39 34 27 31 20 30 +38x36: 31 34 42 30 45 27 +39x44: 48 43 50 42 44 38 +40x37: 21 29 23 36 25 21 +36x47: 43 42 46 54 36 41 +45x46: 52 44 58 51 61 52 +47x36: 22 35 29 29 37 27 +48x38: 61 43 40 41 50 49 +46x46: 35 44 46 30 45 25 +36x50: 53 53 61 39 34 38 +39x44: 41 35 44 41 52 50 +37x49: 51 58 36 42 44 49 +48x41: 39 56 58 44 54 48 +41x36: 52 39 39 35 37 29 +46x39: 30 54 41 42 58 46 +47x39: 40 33 56 51 49 52 +48x39: 38 35 36 29 34 36 +42x46: 34 39 25 41 36 35 +37x38: 41 35 38 44 23 38 +40x41: 37 39 39 49 47 41 +50x40: 47 57 62 46 52 42 +45x50: 74 55 52 57 54 59 +40x39: 29 48 43 39 36 42 +40x50: 52 48 62 58 47 42 +41x39: 30 47 47 39 33 47 +38x46: 40 56 44 46 43 39 +50x49: 55 40 42 44 42 32 +45x42: 49 39 50 54 52 48 +36x40: 18 25 34 31 20 28 +35x47: 28 19 24 32 35 27 +47x46: 58 51 56 66 57 47 +35x37: 26 35 38 30 35 33 +44x37: 32 25 24 29 27 30 +35x49: 22 37 27 34 30 25 +50x46: 47 39 46 34 34 39 +37x50: 28 33 25 32 38 35 +48x42: 52 37 56 62 53 52 +40x41: 46 48 29 44 44 43 +45x48: 46 36 35 36 40 47 +42x44: 30 36 27 32 29 42 +49x45: 71 61 62 44 53 51 +43x40: 34 45 38 43 46 56 +49x36: 25 29 42 34 33 28 +41x46: 47 44 46 56 59 39 +49x49: 66 51 74 54 60 65 +49x38: 52 46 35 49 53 53 +48x43: 45 41 33 35 33 36 +47x42: 51 51 55 42 47 57 +41x37: 55 27 38 36 36 46 +45x39: 51 51 49 44 42 35 +44x42: 30 41 36 26 26 37 +38x45: 43 37 44 56 42 43 +39x44: 33 29 33 31 31 24 +45x41: 37 23 33 37 34 31 +42x45: 27 32 38 39 34 39 +46x38: 25 20 33 30 32 39 +44x46: 60 48 51 52 55 48 +44x37: 32 32 36 25 18 24 +43x44: 48 51 59 41 53 38 +41x35: 22 26 22 25 20 27 +48x35: 40 57 44 50 27 41 +42x35: 28 27 28 27 20 24 +41x47: 37 30 39 29 24 35 +45x42: 43 34 30 32 37 34 +48x46: 47 55 67 49 55 63 +41x41: 32 27 28 29 24 29 +50x41: 63 56 40 49 61 49 +46x42: 39 54 55 39 52 54 +45x42: 53 43 51 45 53 47 +50x40: 33 42 40 31 27 34 +50x37: 53 58 50 50 42 34 +45x46: 45 67 41 56 54 54 +46x39: 51 42 45 48 31 61 +38x44: 25 20 34 32 29 27 +44x50: 59 61 51 60 44 65 +36x37: 32 45 42 36 25 25 +48x44: 42 34 39 30 44 34 +41x42: 38 33 45 42 46 59 +36x50: 32 25 27 38 34 36 +35x49: 48 42 37 41 49 48 +44x50: 57 66 58 51 59 47 +42x48: 34 33 34 42 30 51 +42x48: 43 34 31 41 37 37 +39x46: 38 47 49 33 62 43 +48x37: 57 44 35 46 46 49 +40x40: 29 24 37 29 17 33 +43x45: 58 44 58 41 48 50 +44x44: 55 45 52 37 56 53 +45x40: 38 41 42 60 51 45 +48x45: 41 35 41 30 45 47 +50x36: 34 36 29 24 25 44 +40x37: 17 34 18 25 29 33 +50x39: 56 33 45 57 57 55 +36x37: 36 37 34 28 38 32 +47x35: 22 27 23 31 25 36 +47x49: 39 41 39 38 49 34 +44x40: 46 49 47 56 35 40 +41x39: 29 26 25 30 29 30 +46x45: 41 24 35 35 41 48 +37x49: 49 49 48 33 49 50 +39x44: 31 33 38 27 25 28 +45x45: 49 52 69 44 50 46 +47x35: 28 29 19 33 28 28 +45x43: 34 40 28 39 28 41 +38x40: 24 27 29 25 22 29 +35x36: 18 25 19 29 17 24 +50x41: 26 38 44 24 35 40 +37x35: 42 24 33 34 33 36 +36x35: 37 29 40 28 35 26 +41x41: 43 44 50 38 34 49 +44x46: 42 50 55 45 63 53 +45x49: 40 37 36 47 43 36 +44x35: 21 19 26 27 30 30 +45x50: 63 61 55 59 56 54 +50x37: 29 34 43 27 34 25 +43x46: 47 65 59 55 40 38 +40x49: 35 33 33 33 34 39 +43x46: 58 60 46 52 46 45 +43x35: 48 44 31 35 30 46 +46x37: 43 36 53 43 38 49 +47x46: 56 64 51 56 53 53 +41x45: 27 29 30 41 33 35 +44x35: 23 24 31 21 26 29 +43x40: 34 19 30 37 35 27 +38x43: 44 36 45 39 52 36 +39x49: 42 55 40 54 49 53 +46x35: 23 30 38 23 19 31 +46x49: 37 53 41 40 33 36 +48x40: 28 31 33 40 41 34 +38x49: 45 28 33 21 29 36 +38x44: 37 40 45 44 50 40 +39x43: 46 38 40 42 42 51 +35x40: 21 18 20 32 22 30 +44x39: 50 40 45 43 45 43 +48x43: 39 59 55 46 51 63 +46x38: 26 26 32 25 42 29 +41x46: 30 34 27 34 31 38 +47x50: 57 69 66 69 47 54 +48x43: 47 43 47 51 67 61 +43x43: 25 28 49 36 29 29 +40x35: 22 23 26 25 25 22 +38x48: 36 55 48 47 61 31 +38x46: 29 24 34 24 31 37 +44x36: 25 28 26 29 30 30 +48x48: 55 49 62 61 61 66 +35x47: 49 48 36 34 42 45 +43x37: 52 31 49 39 35 42 +40x49: 41 38 34 37 25 32 +38x50: 28 39 27 34 31 33 +50x47: 63 57 61 64 65 53 +45x45: 43 31 42 37 38 33 +39x37: 21 19 29 24 27 35 +42x37: 33 21 21 36 28 28 +37x43: 40 24 37 25 23 19 +44x50: 42 33 36 30 42 40 +39x36: 39 34 37 42 32 34 +50x39: 61 46 41 61 45 51 +38x40: 27 25 29 22 31 22 +39x44: 36 44 44 51 50 38 +41x41: 23 26 32 29 21 38 +42x48: 35 44 36 44 30 34 +43x39: 21 39 25 24 30 42 +42x35: 26 31 26 25 20 26 +39x43: 27 22 36 27 29 41 +47x39: 41 42 62 49 41 46 +44x44: 27 29 50 27 33 30 +48x50: 41 46 39 44 41 44 +40x50: 53 49 48 48 59 51 +38x46: 36 28 25 28 36 26 +40x40: 35 44 50 29 40 45 +36x40: 30 23 33 23 25 21 +43x36: 26 25 32 32 30 22 +39x46: 39 32 28 22 35 38 +44x41: 45 45 53 56 40 40 +38x42: 26 28 30 28 20 35 +44x36: 28 38 29 23 26 23 +46x41: 52 52 44 45 43 55 +39x38: 20 30 21 28 26 30 +49x49: 48 49 46 36 38 38 +43x38: 45 43 41 38 44 41 +37x42: 40 42 35 29 45 47 +47x43: 51 61 38 53 50 58 +46x37: 64 46 44 37 42 34 +47x40: 35 36 35 35 31 23 +48x37: 35 47 40 42 50 56 +42x42: 26 33 35 31 33 38 +48x39: 36 34 33 41 35 28 +43x37: 38 37 39 38 48 44 +41x43: 25 29 29 27 34 38 diff --git a/inputs/input12_test b/inputs/input12_test new file mode 100644 index 0000000..24d0eb5 --- /dev/null +++ b/inputs/input12_test @@ -0,0 +1,33 @@ +0: +### +##. +##. + +1: +### +##. +.## + +2: +.## +### +##. + +3: +##. +### +##. + +4: +### +#.. +### + +5: +### +.#. +### + +4x4: 0 0 0 0 2 0 +12x5: 1 0 1 0 2 2 +12x5: 1 0 1 0 3 2 \ No newline at end of file