diff options
| author | nekineki <nekineki@nekineki.net> | 2025-12-10 14:54:39 +0100 |
|---|---|---|
| committer | nekineki <nekineki@nekineki.net> | 2025-12-10 15:29:27 +0100 |
| commit | 93bbed1d8dae3bbbb785eeeb0732fa33a72a7acf (patch) | |
| tree | 064e84367c799ee67c011ec6ba132c707e63f30e | |
| parent | 3bc75bd2c26b972f5f683fff7d2d8e4f282263ab (diff) | |
day10 part1
| -rwxr-xr-x | 2025/day10.py | 48 | ||||
| -rw-r--r-- | 2025/in/day10.pzl | 166 | ||||
| -rw-r--r-- | 2025/in/day10.ref | 3 |
3 files changed, 217 insertions, 0 deletions
diff --git a/2025/day10.py b/2025/day10.py new file mode 100755 index 0000000..5eea131 --- /dev/null +++ b/2025/day10.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +from functools import reduce +from re import findall +from copy import deepcopy +import sys +from itertools import combinations +import numpy as np +from scipy.optimize import linprog + +filename = sys.argv[1] if len(sys.argv) == 2 \ + else "in/" + sys.argv[0].split('/')[-1].rstrip(".py") + ".pzl" +data = open(filename).read() +lines = data.rstrip('\n').split('\n') + +res1 = 0 +res2 = 0 + +def part1(light, buttons): + for r in range(len(buttons)): + for c in combinations(buttons, r): + state = [0 for _ in light] + for b in c: + for l in b: + state[l] ^= 1 + + if light == state: + return r + +for line in lines: + s = line.split(' ') + s_light = s[0] + s_buttons = s[1:-1] + s_jolt = s[-1] + + light = [1 if i == '#' else 0 for i in s_light[1:-1]] + + buttons = [] + for sb in s_buttons: + buttons.append([int(i) for i in sb[1:-1].split(',')]) + + jolt = [int(i) for i in s_jolt[1:-1].split(',')] + + res = part1(light, buttons) + res1 += res + +print('res1:', res1) +print('res2:', res2) + diff --git a/2025/in/day10.pzl b/2025/in/day10.pzl new file mode 100644 index 0000000..4d8c5e0 --- /dev/null +++ b/2025/in/day10.pzl @@ -0,0 +1,166 @@ +[.##.#..#.] (2,3,4,6) (0,1,3,4,5,6) (1,2,3,7,8) (0,1,3,5,6,7,8) (0,1,3,4,5,6,8) (0,1,4,7,8) (2,4,6,7,8) {41,56,34,37,46,22,41,67,71} +[.#..##] (3,4) (1,3) (0,2,4,5) (2) (0,1,3,4,5) (0,1,5) (3,5) (1,3,4) {33,65,16,88,54,52} +[#..#..#..] (0,1,5,6) (0,1,4,7) (1,2,3,4,6,7) (1,2,4,5,6) (1,4,5,6,7) (1,2,5,6,8) (0,1,4,5,6,7,8) {212,250,36,8,36,231,239,23,17} +[##.##] (4) (0,1,3,4) (2,3) (0,1,2,4) (1,2,4) (1,2,3) {2,16,21,21,7} +[##..###] (2,4) (0,1,3,4,5,6) (2,6) (0,2,3,5) (0,1,2,3,4) (1,4) (0,2,3,5,6) (0,4,6) (3) {58,25,73,46,65,21,44} +[#.#.#.] (3,4,5) (0,2,4,5) (0,1,4,5) (0,2) (0,1,5) {32,18,14,19,49,49} +[.######..#] (0,1,2,3,5,7,9) (0,1,2,3,4,5,6,7) (3,5,8,9) (3,4,5,6,7,8,9) (0,2,3,4,5,7,8,9) (0,3,9) (1,5,6,7,9) (0,2,4,9) (0,2,3,5,6,7,9) (2,3,5,6,8,9) (0,1,7) (2,4,8,9) {83,47,99,85,57,97,59,79,50,108} +[##..##.] (3,5,6) (0,1,2,3,5) (4) (0,1,5,6) (2,3) {14,14,13,33,20,34,22} +[.###.#..#.] (0,3,7) (2,3,4,8) (1,2,5,6,7,8,9) (2,5,6,7) (5,9) (1,7) (2,3,4,7,8) (8,9) (0,1,2,4,6,7,8) (8) (0,5,6) {120,24,40,123,19,50,37,149,47,33} +[..##.#] (1,3) (1,5) (0,2,4,5) (0,3,4) {25,29,19,17,25,37} +[.#.#..####] (0,2,3,4,5,6) (0,1,5,6,9) (2,7,9) (2,4,7,8) (0,1,4,7,9) (0,1,3,4,5,6,8,9) (3,8) (0,3,4,6,8) {38,27,22,33,41,18,26,31,43,33} +[#..##.#.#.] (1,3,4,5,6,8,9) (0,2,5,6,7) (6,7,8,9) (0,1,3,9) (4,6,7) (0,6,7,8) (3,5,6,7,8) (1,2,5) (1,5) {140,176,13,168,16,49,35,20,34,161} +[.##.#.##.] (0,3,4,5,6,8) (0,2,5) (0,2,4,5,7,8) (2,4,6) (1,3,4,5,7,8) (0,1,4,5,6,7) (1,7,8) {31,50,169,29,212,50,188,55,50} +[#.##] (0,2,3) (0,1) (1,2) (1,2,3) {29,31,38,23} +[.##..] (1,2) (0,2) (1,3,4) (0,1,2,3) (3,4) {29,57,46,58,38} +[..####.##] (1,3,4,6,8) (1,2,3,4,6,7) (0,3,4,5) (2,3,4,5,7,8) (1,3,4,5,7) (1,2,5,6,7,8) (0,1,2,6,7,8) (2,3,4,6) {129,63,63,180,180,138,73,53,45} +[..##.#.##.] (0,4,5,6,9) (2,3,4,7,8,9) (5,8,9) (0,1,2,3,6,7,8,9) (0,3,4,5,6,7,8,9) (3,6,9) (2,5,6) (2,5,7,8,9) (1,2,5,8) (0,1,2,4,7,8,9) {42,11,39,34,46,71,60,39,50,75} +[..#.###] (1,3,4,5,6) (0,2) (4,5) (0,1,3,4,6) (0,3,4,5,6) (1,2,4,6) (0,2,3,4,6) {49,48,36,51,81,33,71} +[.#.#####.#] (3,6,7,9) (0,1,7,8) (0,3,4,5,6,7,8,9) (5,9) (0,1,2,3,5,6,7) (2,9) (3,6,9) (4,6,7,8) (1,4,5,6,7,9) (0,3,5,6,7,8,9) (0,2,3,4) (3,6,8) (2,4,5,6,7) {28,25,29,35,44,39,62,58,34,30} +[.#.##..##] (0,3,4,5) (0,1,3,7,8) (0,2,5,6) (6,8) (0,1,2,3,4,5,6) (1,2,3,5,6,8) (2,4,5,7,8) {133,116,19,136,28,39,31,109,132} +[#.#...] (0,1,3,5) (1,3,4,5) (4,5) (0,2) (1,3) (3,5) {33,33,17,39,4,26} +[.###.] (1,4) (0,3,4) (2,3,4) {3,3,9,12,15} +[#.#.#.#..#] (0,1,3,4,5,6,8) (1,4) (0,1,3,4,7,8,9) (1,4,6,7,9) (4,6,7,8) (0,1,2,3,5,8,9) (4,5,6,7,8) (0,9) (3,6,7,8) (1,2,3,8,9) {182,188,156,173,43,157,30,34,184,196} +[.##....#] (1,7) (4,5,6,7) (0,1,2,5,6,7) (0,2,3,5,6,7) (0,1,5,6,7) (0,2,4,5,7) {131,132,128,7,22,147,141,161} +[...##..#.] (0,4,6) (0,3,4,5,6,8) (0,1,3,4) (2,7,8) (0,2,3,4,5,8) (0,4,6,7,8) (3,5) (1,2,5) (1,7) (2,4,6,7) (0,1,3,6,8) {237,25,29,219,235,219,220,38,230} +[#..##] (1,2,3,4) (0,2) (0,3,4) {143,20,155,28,28} +[#...##.#] (1,3,5) (0,1,3,5,6,7) (0,3,4,5) (2,4) (7) (0,3,5,6,7) (0,1,2,3,4) (0,1,2,4,5,6,7) (0,4,5,6,7) {71,43,38,61,71,79,45,57} +[###.] (0,1,2) (1,2) (1,2,3) (0) (2) (1) {10,42,41,19} +[.#.#] (1,3) (2,3) (0,1) (1,2) (0,2) {8,18,8,18} +[...######] (6,7) (0,1,3) (2,3,4,5,6) (0,1,2,3,5,7,8) (4,7) (0,1,2,4,6,7,8) (2,3,7) (6,8) (1,3,7) {6,13,33,39,32,20,40,41,12} +[##.##] (1,2) (0,4) (2,3) (0,2) {2,12,34,20,0} +[..####] (0,4,5) (2,3,4,5) (2,5) (0,1,5) {28,14,20,12,26,48} +[##..##] (1,2,3,5) (3,4) (0,1,4,5) (1,2,3,4,5) (4) (0,1) {25,58,33,40,58,46} +[#.##.###] (0,3,6,7) (0,2,3,4,5,7) (4,6) (3,5,6,7) (0,3) (1,5,7) (2,5,7) (1,2,3,5,6,7) {49,25,43,77,26,68,54,83} +[#.#.#] (1,2,4) (0,1,2,3) (1,2,3) (0,2,4) {19,12,29,9,20} +[##.#.] (0,1,2,4) (1,2) (0,2,3) {36,26,43,17,19} +[##..###] (0,5,6) (1,2,3,4,6) (1,4,6) (1,2,3,4) (2,6) {2,45,31,31,45,2,32} +[##..#.####] (0,2,3,4,6,7,8,9) (3,4,8) (0,5,8) (3,9) (0,2,4,5,9) (0,1,3,4,5,6,7,8,9) (2,4,5,6,7,9) (3,5) {22,13,21,42,34,42,34,34,22,46} +[##..#....#] (0,2,3,6,7,8) (0,1,2,5,6,7,9) (0,1,3,4,5,8) (0,2,3,5,6,9) (0,1,2,4,6,8) (1,5,6,8,9) (2,4,7,8) (0,3,4,5) (1,2,3,6,7,8,9) (1,3,4,7,8,9) (0,2,3,7,8,9) (0,5) (2,3,5) {65,54,65,70,43,60,67,37,67,55} +[#......] (2,4,5,6) (1,3,4) (0,2,3,4,6) (0,3,4,5) (3,4,5) (1,5) {9,19,8,43,44,22,8} +[...#.###] (0,2,3,4,5,6,7) (1,3,5) (1,3) (2,4,5,6,7) (1,2,3,4,7) (0,3,7) (3,5) (0,3,5,6) (1,3,5,6,7) (0,5,6) {30,38,31,76,31,81,51,41} +[.####] (1,2) (0,1,2) (0,3,4) (1,3) {151,37,22,147,132} +[.#..##.#..] (0,1,3,5,6,8) (0,1,3,4,7,8,9) (2,4,5,6,7,8) (0,1,2,3,4,6,7) (0,1,3,4,5,6,7,9) (0,1,2,3,4,8,9) (4,5,9) (1,6) (0,1,2,4,5,6,7,8) (1,2,3,4,5,7,8,9) (1,3,5,6) {69,103,34,84,81,86,82,62,66,59} +[.....###.] (0,5,6,7) (1,3,5,8) (1,3,6,7,8) (0,4) (0,3,4,5,7,8) (0,2,3,4,6) (0,1,2,3,7) (0,1,3,4,5,6,7) (0,1,3,4,5,7,8) {54,45,10,55,44,42,25,39,29} +[..##.#] (2,3) (0,2,4) (0,2,3,4,5) (0,1) (4) (0,1,2,4,5) (1,5) (1,2,3,4) {52,40,81,47,76,34} +[..#...#..] (0,3,6,8) (1,7) (0,1,3,7,8) (5,6) (0,1,4,6,7,8) (0,2,3,5,6) (0,1,2,4,5,6,7,8) (0,1,3,4) (1,2,3,5,6,7,8) (1,3,4,5,6,8) {74,56,26,62,35,43,69,40,57} +[#..#......] (1,4,5,9) (0,1,2,4,5,7,8) (0) (0,1,2,4,5,7,8,9) (3,5,6,7,9) (1,6) (3,4) (4,7) (1,2,4,5,6,7,8) (0,5,7) (2,5,7,8) (0,1,3,5,6,7,8) (2,5,9) {70,73,52,43,54,110,60,98,53,50} +[.#.#.##..] (3,4,6,7) (0,1,2,5) (0,1,2,4,6,7) (2) (0,1,2,3,5,7,8) (0,1,3,6,7,8) (2,3,4,5,6,8) (1,6) (0,1,3,4,7,8) (2,4,8) (2,4,5,6) {57,76,76,134,169,48,175,148,31} +[..#.#.###] (0,1,3,6) (0,2,6,8) (5,7) (0,1,2,4,5,6,8) (1,3,4,5) (4,7,8) (1,3,8) (1,2,3,5,6,7) (3,4,6,7,8) {36,38,30,35,49,31,52,46,68} +[#..##.##] (0,1,2,3,4,5) (0,2,3,4,5,7) (0,3,4,6,7) (2,6,7) (1,7) (0,2,6) {178,16,36,178,178,31,152,171} +[##..] (0,1) (2) (1) (1,3) {17,24,18,2} +[.##..###..] (0,1,2,6,8,9) (0,2,3,4,5) (0,1,2,3,4,6,8) (1,3,4,9) (0,5,9) (1,5,7) (3,8) (0,1,5,6,8,9) (0,1,2,3,4,5,7,8) {44,61,26,25,21,41,40,20,44,25} +[######.] (3,4,6) (0,1,5) (0,1,3,4) (0,3,4) (0,1,2,3,5) (0,1,2,4,5) (0,2,5,6) (0,1,3,6) {239,220,51,33,31,227,20} +[#######..] (2,4,6,7,8) (1,2,3,4,5,7,8) (0,2,6,7) (0,2,3,4,5,8) (6,7,8) (0,2,3,5,6,7,8) (8) (2,3,4,7) (1,5) (0,1,2,3,4,6,7) {35,24,71,35,52,32,51,68,56} +[#..#] (1) (0,1) (0,1,2) (0,3) (0,2,3) {48,24,12,29} +[.#.###.] (0,1,4,6) (1,3,4,5) (2,4,5) (0,2,3,4) (1,3,4,6) (0,2,6) (1,2,3,5,6) {16,43,35,41,34,29,49} +[...##.] (5) (0,2,3,5) (0,1,2,3,4) (1,3,5) (3,5) (0,3,4,5) (1,2,5) (0,4) {44,43,30,62,40,56} +[###.##.#] (0,1,2,3,5,6) (0,1,2,3,4,7) (4,6) (1,5,6,7) (0,1,2,3,5,7) (0,2,4,6,7) (0,4,5,6) (3,4) {41,205,35,28,47,196,213,216} +[#...] (1,2,3) (2) (0,3) (0,1) (0,2) {170,9,155,17} +[......#...] (0,1,7) (1,2,6,7,9) (6) (0,1,2,3,4,6,7) (0,1,2,3,4,5,8) (3,6,7) (0,1,2,4,5,6,8,9) (4,8) (0,1,2,3,5,6,7,8) (0,2,3,4,5,6,7,9) (3,8,9) (0,2,6,7,8,9) (2,3,4,6,7,8) {63,52,89,69,64,39,109,78,70,64} +[.#.#.###] (2,3,5,6) (0,6,7) (4,7) (0,5) (0,6) (1,2,4,5,6,7) (0,1,2,5) {35,5,10,5,12,27,24,14} +[#..#..#] (1,5) (1,4,5,6) (1,2,4,5,6) (1,3) (0,2,4,6) (3,5) (0,3) (1,2,5,6) {175,57,40,173,38,41,49} +[....#.#] (1,3,6) (1,6) (1,4,5) (1,2,3,4) (0,1,2,3,5) (0,2,4,5,6) (0,2,3,5) {40,73,51,55,31,51,40} +[#.##...] (0,4) (0,2,6) (0,2,5,6) (1,6) (2,3,4) (5) {14,19,19,17,29,11,21} +[.#.##] (2,3) (2,4) (1,3,4) (0,2,4) (0,3) {23,5,34,31,25} +[##..] (0,1) (0,2,3) (3) (1,2) (2,3) (0,3) {20,20,4,21} +[#.....#] (0,2,3,4,5,6) (0,2,5,6) (1,2,3,4,6) (2,5) (2,3,4,5) (0,6) (0,4,5,6) {46,3,58,33,52,74,49} +[#...#.####] (3,4,5,6,8,9) (0,1,2,3,4,5,6,9) (1,3,4,9) (0,4,6,7,8,9) (3,4,5,8) (3,6,7) (0,2,5,8) (1,6,8) {24,16,18,55,55,52,42,12,48,39} +[..##.##] (0,1,3,4,5) (0,1,3,4,6) (0,2,4) (0,2,3,5,6) (2,6) (0,2,4,5) (4,6) {52,12,40,32,52,40,52} +[#...#.#] (0,1,2,4,6) (0,1,4,6) (0,1,3,4,5) (1,2,3,5,6) (0,1,2,3,6) (0,1,3,5,6) {81,99,56,59,45,41,94} +[...#.....#] (0,5) (5,6,9) (0,1,3,4,6,7,9) (4,7) (0,1,3,4,6,7,8,9) (0,5,7,8,9) (3,5,6,7,8,9) (0,2,7) (0,1,3,4,6) (1,2,3,4,5,6,7) {31,21,10,38,33,52,49,60,34,49} +[.#.##..##.] (0,2,3,4,5,6,9) (0,2,3,5,6,8,9) (0,1,7,8) (4,9) (0,1,2,3,4,5,7,8) (3,4,5,7,9) (1,2,4,5) (1,6,7,8) (1,2,4,6,9) (1,2,3,4,8,9) (0,2,5,6,9) (0,2,3,4,5,6,7) {83,55,99,88,90,94,62,60,54,86} +[###.#.###.] (0,5,6,7,8) (0,1,2,4,6,7,8) (5,8) (0,1,4,6,8) (0,3,6,7,8) (0,1,3,5,6,9) (0,1,3,4,5,6,8,9) (1,7,8) (1,2) {75,69,40,25,38,21,75,56,77,6} +[.#.#..] (2,3,4,5) (0,1,2,5) (0,2,3,5) (0,1) (1,4) (0,1,3,4) (0,1,4) {58,59,31,24,32,31} +[##.#.] (1,4) (0,4) (1,2,3) (3) (2,3,4) (2) (0,2) {16,24,138,125,125} +[...#.##.] (0,1,4,5,6,7) (0,1,3,4,7) (1,2,4,5,6) (3,7) (0,2,4,5,6) (0,1,2,4,6) (2,5,6,7) (1,7) {38,38,47,24,41,37,50,55} +[.###] (0,1,2) (1,2) (0,1) (0,3) {37,33,16,11} +[.#.#..] (3,5) (0,2) (0,4,5) (0,1,2,5) {29,8,24,14,5,27} +[#.##] (0,2,3) (1,3) {19,10,19,29} +[.##.######] (0,1,2,5,7) (3,5,8,9) (1,4,5,7,8,9) (1,2,3,4,5,6,7) (0,1,6) (1,2,3,4,5,7,8) (1,2,4,5,6,7,8,9) (0,1,3,5,6,8) (0,2) (0,1,2,3,5,7,8,9) (6,8) (1,2,4,5,9) {45,83,81,31,58,96,38,59,57,66} +[##.###.] (2,3,4,6) (0,4,6) (1,2,3,4,6) (0,1,2,3,6) (0,1,3,4,5,6) {30,15,22,28,40,6,46} +[.#...] (0,2,3) (0,4) (0,1,4) (0,1,2) (1,3) (1,2,4) (1,3,4) {36,44,8,31,39} +[#####..#] (1,2,4,5,7) (0,1,3,4,7) (0,2,3,4,6) (0,3,4,5,6,7) (0,3,5,6) (0,3,5,6,7) (2,5) (1,2,4,7) {53,44,44,53,63,49,37,71} +[##...#....] (3,5,6,7,8) (4,6,9) (1,3,5,6,7,8) (0,3,5,7) (1,2,3,4,6,7,8,9) (1,2,9) (3,6,9) (1,4,6,8) (0,1,2,3,4,5,6,9) (0,2,3,5,7,8) {17,33,13,66,20,53,69,49,54,24} +[.#.##.] (3,4) (1,3,4) (0,3,5) (0,1,3,5) (2) {19,16,7,134,115,19} +[##.#.] (1,2,4) (1,2,3) (3) (1,3) (0,2) (0) {13,189,4,208,0} +[.####.] (3,4) (1) (2) (0,1,2,5) (0,2,4) {12,27,23,17,19,10} +[.#.#...#] (1,4,5,6,7) (6) (0,6,7) (1,2,3) (1,6) (2,4,5,6) (3,4,7) (0,1,2,3,4,7) (0,2,3,5,6) {22,42,42,32,30,21,55,27} +[#...#####.] (1,2,5,6,7,8,9) (1,2,3,5,6,8,9) (0,4,7,9) (2,3,6,7) (3,4,6) (0,3,4,7,8) (0,1,2,4,6,7,8) (1,2,5,6,8) (0,1,2,4,5,6,7,8) (1,4,5,7,9) (0,2,3,4,6,7,8) {214,54,224,215,238,36,240,244,230,31} +[..#.#..#..] (0,1,5,6,8,9) (0,1,4,5,6,8,9) (1,3,4,5,6,8) (1,2,3,5,7,9) (1,2,3,4,5,6,7,9) (1,3,4,5,6,9) (1,2,4,6,7,8,9) (0,1,3,5,7,8,9) (2,3,5,6,7,9) (1,2,3,4,6,7,8) (1,2,3,4,6,7,9) (5,6,7) {32,93,66,72,65,91,100,86,61,94} +[#.##.#] (0,1,2,3,5) (0,1,2,5) (1,3) (3,4) (3,5) (0,2,3,4) {34,18,34,52,36,30} +[###..#..#.] (0,4,7,8,9) (0,9) (0,1,2,4,6,7,8,9) (1,2,7) (0,1,3,4,8,9) (0,3,6,8) (5) (3,5,9) (0,1,2,4,5,6,7,9) (0,1,2,3,5,7,8,9) {89,57,40,176,52,160,40,53,52,211} +[..###] (0,1,3,4) (2) (0,1,2) (0,2) (1,4) (0,1,3) (2,4) {69,65,68,30,51} +[...##..#] (0,1,2,6,7) (0,3,4,5,7) (2,4) (1,3,4,6,7) (5,7) (1,2) (0,2,3,4,6) (1,3,4,7) {21,18,28,27,38,6,21,22} +[#.#.] (0,2) (0,1,3) {30,14,16,14} +[..#.#.#] (0,4) (0,1,2,3,4,5) (2,6) (0,4,5,6) (1,2,3,4,6) {17,178,185,178,192,9,188} +[##.#.###] (0,1,7) (0,3,4,5,7) (3,7) (0,1,2,4,6) (0,4,6,7) (0,4,5,6) (2,4,6) {66,26,23,27,63,38,44,42} +[##..#....] (0,3,7) (2,3,7) (0,2,3,5,6,7,8) (0,1,7) (0,3,5,6) (0,8) (1,3,5,6,7) (0,1,2,3,6) (4,5,6,7) (0,1,2,6,7,8) {48,44,30,55,8,33,47,60,9} +[..#.#.#.#] (0,2,3,4,7,8) (3,4,5,6,7) (0,1,2,7) (0,1,2,3,4,5,6) (0,3,5,6,7,8) (0,2,3,7,8) (0,2,5,8) (0,2,3,4,5,6,7) {217,6,71,209,52,196,180,207,191} +[####] (1,2) (0,3) (1,2,3) {6,182,182,17} +[.###.#] (1,2,3,5) (2,4,5) (4,5) (0,1,3,5) (1,3,4,5) (0,2) (1,2,4,5) {15,37,40,22,42,64} +[..##.###.] (0,1,2,5,7,8) (1,2,3,4,5,7,8) (0,4,7) (0,2,4,5,6,7,8) (3,6,7) (6,8) (1,2,4,5,6,7,8) {42,43,59,17,61,59,55,79,72} +[#..##] (1,2,3,4) (0,3,4) (0,2,3) {19,4,14,23,13} +[.....#] (0,2,3,4) (0,1,2,4) (2,3) (0,4) (2,3,4,5) (3) (1,4) {26,11,42,57,49,17} +[#.#.##] (0,1,2,4,5) (1,2) (1,2,3,5) (0,2,4,5) (0,5) {21,25,34,6,17,27} +[#...#] (0,2,3) (1,2,4) (1,3,4) (1,2) (2,3) {18,38,48,34,22} +[###..#.##] (0,2,3,4,5,6,7) (1,4,7,8) (1,3,5,6,7,8) (0,2,4,5,6,7,8) (1,8) (1,2,4,6,7,8) (0,3,4,8) (0,1,2,5,6,7,8) (5,8) (1,2,3,4,5,6,8) {53,49,46,56,82,71,55,65,98} +[#.###.#..] (0,1,4,7,8) (5,7) (1,2,3,6,7,8) (4,6) (2,3,4,5,6,7,8) (2,3) (1,2,3,5,6,7,8) {14,30,44,44,45,40,47,55,50} +[#..#] (0,1,2,3) (1,2) (2) {20,38,58,20} +[..#..####] (0,1,2,6,8) (0,1,2,3,6,7) (1,3) (0,1,3) (0,2,4,7) (2,3,4,6,7) (2) (1,2,3,5,6,7,8) (1,6,7) (3,4,5,6,7,8) (4,5) {42,72,71,47,20,19,76,60,35} +[.#.#] (1,3) (0,1,2) (0,3) (0,2,3) {22,22,6,38} +[..##..#] (1,2,5,6) (0,4,5,6) (0,2,4,6) (0,1,2,4) (0,2,3,4,5) (1,2,3,5,6) (1,3,5) (1) (3) {43,51,48,19,43,52,56} +[##.#] (0,1) (2) (0,2) (1) (1,3) (3) {13,23,26,18} +[...##.#] (1) (2,3,5,6) (1,3) (4,5,6) (0,2,4) (0,1,2,4,6) (0,1,2,3,6) (6) {23,51,40,36,24,23,196} +[....#.#] (0,1,2,3,5,6) (0,2,4,5) (0,2,5,6) (4,6) (0,1,3,4,5,6) {31,10,29,10,13,31,40} +[#..#..#.] (0,5,6) (1,5,7) (1,2,3,5,7) (0,4,5,6,7) (2,5) (1,2,4,5) {19,34,30,4,36,61,19,34} +[.##.#] (0,2,3,4) (1,4) (0,1,2,3) (0,1,3) (0,1,2) {35,42,31,24,21} +[...#] (1,2,3) (0,3) (1,2) (0,2) (3) (0) {28,30,42,21} +[###.] (0,1,2) (1) (0,2) (2,3) {35,34,37,2} +[###...##] (1,2,5,6,7) (1,2,3,4,6) (7) (0,2,3,4,6,7) (0,4,6) (1,2,4,5,7) (0,3,5,7) (1,2,6,7) (0,3,5) {34,34,35,31,40,32,38,36} +[###.] (1) (0,3) (0,2) {21,13,1,20} +[#.#.] (0,1,2,3) (0,2) {33,14,33,14} +[#....#..##] (0,1,2,8,9) (0,1,3,5,6,9) (1,3,5) (0,2,3,5,6,7) (7) (2,4,5) (2,6) (0,3,4,6,9) (1,3,4,5,6,9) {56,44,38,54,26,46,47,20,17,49} +[#..#] (3) (2) (0,3) (1,2) (0,2) (1,3) {19,19,23,36} +[#.#####] (0,5) (4,5,6) (2,3,5) (1,6) (1,2,3,6) (0,1,5,6) (2,3,4) (0,2,5,6) (0,3,5,6) {60,23,51,56,16,92,71} +[###.] (0,1,2) (1,2,3) {13,20,20,7} +[#.##..#] (1,2,3,5,6) (2,4,5,6) (1,2,3) (0,1,2,3,4) (3,4,6) (0,1,4,6) (0,3,4,5,6) (0,1,3,5) {44,40,28,66,59,43,55} +[...#####] (1) (1,3,5,6,7) (2,4) (1,2,3) (1,6) (6) (0,2,4) (1,3,4,5,7) (3,4,6) (1,2,3,4,5,7) {13,46,27,45,48,26,53,26} +[##.....#.#] (7) (0,4,5,9) (0,1,2,3,6) (0,1,5,6,7,8,9) (1,3,4,5,6,8) (1,2,3,4,5,6,7,8) (1,2) (3,8) (1,2,4,5,7,8,9) (1,2,3,4,6,8,9) (1,2,3,5,6,9) {23,67,56,46,46,48,42,53,53,31} +[....######] (1,3,5,9) (4,5,6,7,8,9) (1,4,5,6,7,9) (0,1,5,6,7,8,9) (0,1,3,6,9) (2,3) (6,9) (0,1,7,8,9) {42,61,6,28,23,57,51,57,52,79} +[#...#] (1,3) (0,1,2) (0,1,4) (0,4) {40,39,16,16,24} +[.#...#...] (0,3,5,6,8) (0,1,3,5,7,8) (1,4,8) (0,2,3,4,6,8) (3,4,6,7) (2,4,8) (1,4,5) (0,2,3,5) (1,7) (1,6) (0,2,6,7) {40,31,22,35,33,30,34,27,50} +[##.......] (0,1) (0,1,3,5,6,7,8) (0,2,3,4,5,7) (0,1,2,4,6,7) (0,4,5,6,7) (2,4,6,7,8) (1,2,3,6,8) (0,3,4,5,6) {57,23,39,32,61,42,57,52,16} +[##..#] (0,1) (0,2) (0,2,3) (3) (2,3) (4) {10,2,23,34,18} +[..#.#...] (0,5,6) (2,3,4,5) (1,5,7) (0,3) (0,1,4,7) (1,3,4,6,7) {181,22,4,175,18,28,26,22} +[#####.] (0,1,2,5) (3,4,5) (0,2,3) (0,4) (1,2,3,5) (2,3,4) {24,184,197,205,25,203} +[###..#] (0,1,2,5) (1,2,3,4) (1,3) (1,2,4,5) (0,3) (2,3,4,5) (0,2,3) (0,1,4,5) {61,64,65,85,60,47} +[#.#.#.] (1,3) (0,1,3,5) (0,2,5) (4,5) (0,2,4) {29,14,15,14,173,178} +[#...####] (3,7) (0,1,6,7) (0,3,4,6) (4,5,7) (0,2,3,4,6) (3,4,6) (0,1,2,3,4,6) (0,1,3,4,6,7) {32,11,11,55,71,20,51,32} +[###.##..] (2,4) (0,1,6,7) (0,1,2,5,6) (0,2,3,4,5,6,7) (4,5) (0,1,2,3,6,7) (0,1,2,3,5,6) (3,5,7) (0,2,3,4,7) {244,232,232,46,22,234,234,47} +[...#...#.#] (0,1,6,8,9) (0,2,6) (0,1,2,3,4,5,6,9) (2,3,4,5,6,7,8) (3,4,8) (1,3,4,6,7,8) (1,2) (5,7,9) (0,1,4,5,6,9) {36,51,49,33,43,55,60,42,37,48} +[########.#] (2,8) (0,5) (0,1,3,5,8) (0,1,4) (0,1,2,3,4,6,7,8) (3,4,8) (1,6) (1,2,6,7,8,9) (0,1,2,3,4,5,6,7,8) (0,1,4,5,6,7) (1,3,5,7) {32,81,60,54,40,37,63,59,71,14} +[...#.###] (3,5,6,7) (1,5) (1,2,3,4,5,6) (1,3) (0,1,2,3,5,6) (0,4,6) (2,3,4,5,6,7) (0,2,4,6,7) (0,5,6) (0,1,2,4,6,7) {63,40,64,49,60,63,95,49} +[##..] (0,1) (0,2,3) (2,3) {3,1,5,5} +[#...#.##.#] (3,4,8) (0,2,4,5,6,8,9) (0,3,7,8) (1,2,3,6) (6,9) (9) (1,2,5,8,9) (0,1,2,7,9) (1,2,3,4,5,6,7,8) (0,2,8) (0,1,2,4,5,6,7,8) (1,2,4,5,6,7,8,9) (2,4,5,9) {46,73,94,42,62,56,71,63,61,59} +[...#.###] (0,2,3,4) (0,1,3,4,5,6,7) (0,1,2,3,4,5,6) (0,2) (0,1,6) (1,3,4,7) (1,3,4) (0,2,3,5,6,7) {136,154,20,55,54,2,118,21} +[#.##.##.##] (1,2,3,9) (2,4,7) (0,4,6) (0,1,3,6,8) (0,2,3,4,5,6,7,8) (1,2,3,4,6,9) (3,9) (1,6,7) (0,3,5,7,8,9) (0,2,3,4,5,6,7,9) (0,1,3,4,5,7,8,9) {77,72,54,266,65,54,60,70,65,238} +[##.##.##] (0,2,3,7) (0,1,3,4,6,7) (2,5) (1,2,3,5,6) (2,7) (1,5) (0,3,4,6) (0,4) (1,2,4,6) (0,2,3,4) {30,66,66,48,43,45,60,32} +[.##..#] (0,1,2,4,5) (0,1) (0,4) (0,2) (3,4,5) (1,4,5) (0,3,4,5) {61,34,12,16,44,30} +[....###] (3,4,5) (2,5,6) (0,1,2) (2,5) (0,1,2,5) (1,4) (0,1,2,3) (2,4) (0,3,4) {23,33,66,20,47,41,20} +[...##.] (0,2,4,5) (1,3) (2,4) (2,3,5) (2,3,4) (3,4) (0,2,3,4,5) (0,3) {13,175,30,193,28,15} +[##.#] (0,1,2) (0,1,3) {30,30,16,14} +[.#.....##] (2,3,4) (3,6) (0,1,2,3,4,6,7,8) (0,2,3,4,8) (1,2,3,4,5,6,7,8) (0,1,2,4,5,7,8) (3,8) (0,1,2,4,5,6,7) (0,1,2,4,7,8) {55,47,57,52,57,14,38,47,61} +[.#.....] (1,4) (0,1,5,6) (4) (3,5) (0,1,2,3,5,6) (0,1,2,3,4,6) {134,154,117,124,40,136,134} +[#..###..] (0,1,3,7) (0,2,3,5,7) (1,2,6) (2,7) (0,4) (0,1,2,4) (0,1,2,3,4,5) {56,38,73,32,34,30,18,39} +[##...##.#] (0,1,2,4,7,8) (0,3,4,6) (1,5,6,7,8) (0,4,6,8) (0,1,2,5) (3,4,5,7) (2,4,5,7) (1,3,7) {50,30,22,25,42,26,36,22,25} +[#.###] (2) (1,2,3,4) (2,4) (3) (0,1) (1,2,3) (1) {18,47,31,27,19} +[.###] (0,2,3) (0,1) (0,2) {137,7,130,17} +[#...##...] (1,4,6) (0,1,3,4,6,7,8) (4) (1,3,8) (0,1,2,4,6,8) (1,2,3,4,5) (1,3,4,5,6,7,8) (1,3,6) (0,2,6) {35,69,47,56,61,29,51,17,46} +[##..#] (1,4) (0,1,2) (0,2,4) (1,2) (0,1,3) (0,2,3,4) (0,1,4) {68,80,51,33,56} +[..####] (3,5) (0,1,3,4,5) (2,3,4,5) (0,1,4) {23,23,17,35,40,35} +[.###....] (0,1,2,7) (0,2,3) (1,4) (1,2,4,5,7) (0,1,2,4,6,7) (0,1,2,3,6,7) (0,1,2,3,4,5,7) {43,66,58,31,60,33,18,51} +[..###.##..] (1,5,9) (0,1,3,4,6,8,9) (0,3,7,8) (0,2,4,6) (5,7) (0,7) (1,2,5,6,9) (0,1,3,6,7,9) {54,53,22,32,10,41,41,51,18,53} +[#..#] (0,2) (1,3) (1) (0,1,3) (0,1) {19,18,5,3} +[#....] (1,3) (2,4) (2,3) (1,2,3,4) (4) (0,1,2,4) {8,26,39,32,41} +[#......##.] (1,2,3,4,5,6,7,8,9) (1,5,7,8) (3,4) (0,3,5,6,7,8,9) (1,2,3,9) (0,1,2,3,5,6) (1,3,6,7,8) (1,2,5) (1,2,3,6,7,8,9) (2,3,4,8) (2,3,5,6) (0,4,6,7,9) {32,101,110,147,60,80,102,86,98,76} diff --git a/2025/in/day10.ref b/2025/in/day10.ref new file mode 100644 index 0000000..dd91d7b --- /dev/null +++ b/2025/in/day10.ref @@ -0,0 +1,3 @@ +[.##.] (3) (1,3) (2) (2,3) (0,2) (0,1) {3,5,4,7} +[...#.] (0,2,3,4) (2,3) (0,4) (0,1,2) (1,2,3,4) {7,5,12,7,2} +[.###.#] (0,1,2,3,4) (0,3,4) (0,1,2,4,5) (1,2) {10,11,11,5,10,5} |
