Compare commits
No commits in common. "21a8457a32e2bfcb01ad568be76bce78e0523329" and "0dcd6750425e37d58a52ac62fb0489e4c52d7e37" have entirely different histories.
21a8457a32
...
0dcd675042
200
day10/input
200
day10/input
@ -1,200 +0,0 @@
|
|||||||
[.#.#] (0,2,3) (1,3) (2,3) (0,1,2) (0) {31,4,31,29}
|
|
||||||
[#..#..##.#] (1,2,3,4,5,6,7,8,9) (2,5,6,7) (0,1,3,5,7,8) (0,2,3,5,6,8,9) (0,1,3,5,6,7,8,9) (4,7) (3,5,7) (4,6) (1,2,4) (0,1,2,4,5,7,8,9) {34,50,61,55,68,80,58,88,50,48}
|
|
||||||
[....#] (0,2,3,4) (1,2) (0,2,3) (0,1) (0,4) (0,2,4) {56,27,37,17,27}
|
|
||||||
[#..#.###.] (2,7) (0,2,3,5,6) (1,2,4) (0,1,8) (0,1,3,4) (4,5,7) (0,1,3,5,6,7,8) (2,3,4,5,7,8) {162,179,40,30,44,38,18,52,161}
|
|
||||||
[#.###] (1,2,4) (2,4) (0,1) (1,3,4) (0,1,4) {10,33,28,15,44}
|
|
||||||
[#.#.] (1,2,3) (0,2) {4,1,5,1}
|
|
||||||
[.###..###.] (2,3,4,5,8) (0,2,3,5,7,8,9) (2,4,5,8,9) (1,7) (2,5,6,9) (1,2,4,5,6,7,8,9) (2,4,5,7) (1,5,6,9) {16,33,62,32,46,78,30,46,49,49}
|
|
||||||
[#.##.#.#.#] (0,1,2,3,4,5,8) (1,8) (1,4,5,6,8,9) (1,2,5,8,9) (0,1,2,3,4,5,6,8,9) (2,3,4,6,8,9) (5,7,9) (0,1,2,3,4,5,6,7,8) (0,2,4,5,6,7,8,9) {39,76,63,40,67,92,61,46,93,76}
|
|
||||||
[###.#..] (0,1,3,5,6) (1,4,5,6) (2,6) (1,3,6) (1,3,4,5,6) {1,27,6,11,20,21,33}
|
|
||||||
[###..#.#] (1,2,3,4,5,6) (2,3) (0,2,4,6) (0,5,6) (3,5) (0,1,2,4,5,7) {21,10,16,2,16,17,15,8}
|
|
||||||
[.#.####...] (0,1,4,6,7,8) (1,5,8,9) (1,6) (0,2,4,5,9) (1,3,4,6,8) (0,4,5,8,9) (2,6,7,8) (1,2,3,5,6,7,8) (0,2,6,7) (1,4,5,8,9) (1,2,3,4,5,8,9) (0,1,2,3,4,5,7,8) (1,3,5,6,8) {29,77,54,44,63,72,44,37,84,49}
|
|
||||||
[..#...#] (0,2,3,5,6) (2,5) (1,4,5) (1,2,3,5) (1,2) (2,3,5,6) {9,199,39,17,182,204,17}
|
|
||||||
[##.#.#] (1) (0,1,2,3) (0,1,2,5) (3,4) (0,4) (1,5) (2,5) {39,42,22,21,24,26}
|
|
||||||
[......###.] (0,2,3,4,6,8) (5,8,9) (2,6,7) (1,2,5,6,7) (1,2,3,4,5,7,8,9) (0,5) (0,5,6) (1,4,5,6,8,9) (2,8) (3,5,7,9) (0,1,6) {53,45,19,12,24,193,66,21,153,155}
|
|
||||||
[.##..#] (1,2,5) (0,1,2,3) (0,4,5) (0,3) {17,21,21,17,0,5}
|
|
||||||
[####.#.#.#] (3,4,6,8) (1,3,4,6,8) (2,3,5,6) (0,1,6,7,8,9) (0,1,2,8) (0,1,2,3,7,8,9) (1,2,4,6) (0,4,5,6,9) (0,1,2,3,5,7,9) (0,3,4,5,6,7,9) {51,38,54,49,28,47,49,24,31,37}
|
|
||||||
[...##..] (1,4) (2,3,4) (0,1,2,4,5,6) (0,5,6) (1,2,3,4,5,6) {18,38,32,28,48,36,36}
|
|
||||||
[.##.####] (0,1,2) (0,7) (0,1,2,6,7) (1,3,4,6,7) (2,4,5,6,7) (0,1,3,4,6,7) (3,7) (2,7) (0,1,2,3,5,6,7) (0,4,7) {225,72,54,66,44,18,71,271}
|
|
||||||
[####...#.#] (2,6,8,9) (0,2,4,7) (0,1,6,7) (1,2,6,7,9) (0,1,2,3,4,6,7) (0,2,4) (0,1,2,4,5,6,8) (3,5,6,8) (0,6,9) (0,1,4,5,6) (0,1,4,5,6,7) (3,8) (1,6,7) {70,85,46,29,50,35,103,69,25,22}
|
|
||||||
[#...#..##.] (1,2,3,4,6,9) (4,9) (1,2,3,4,5,6,7) (1,3,4,5,6,7,9) (1,3,4,8,9) (2,3,8) (1,4,5,6,7) (1,4,5) (1,2,3,6,7,9) (0,1,2,3,4,5,7,8) (0,4,5,7) (0,1,2,4,6,7,8) {14,78,67,67,84,35,68,57,17,62}
|
|
||||||
[#.##.##..#] (1,2,3,4,6,7,8,9) (0,3,4,5,6,7,8) (1,2,3,4,6,7,9) (0,3,5,6,7,9) (0,1,4,5,6,7) (2,3,4,7,8) (0,1,3,4,5,7) (0,1,3,4,5,6,8,9) (0,1,3,9) (0,1,2,4,5,7,8,9) (1,2) (6,9) {92,75,35,75,73,73,80,84,42,88}
|
|
||||||
[#......#..] (2,9) (2,3,4,5,6,8,9) (0,1,2,3,4,5,6,7,9) (0,2,3,4,5,6,7,8,9) (6) (0,1,2,9) (0,2,3,4,5,6,8,9) (0,7,8) {61,32,72,42,42,42,47,31,45,72}
|
|
||||||
[#.#.#] (0,1,2,3,4) (0,2,4) (0,2,3) {29,17,29,20,26}
|
|
||||||
[....#] (0,2) (2) (1,2,3) (0,4) (4) (0,1,3,4) {10,10,136,10,12}
|
|
||||||
[.#...] (1,2,3) (3,4) (2,3) (0,2,4) (1,3,4) (0,4) (1,2) {29,19,33,36,42}
|
|
||||||
[#####] (0,1,2,4) (0,1,2) (3) (1,3,4) (2,3) (0,1,4) (1,2,3) {37,61,65,42,32}
|
|
||||||
[#.#..#.#] (3,5,6) (0,2,3,5) (2,5,6,7) (2,3) (1,3,5) (0,1,2,3,4,5,7) (2,4,6) {21,30,53,56,28,72,49,28}
|
|
||||||
[#.##..#.] (1,2,3,5,7) (5,6) (1,2,3,4,5,6,7) (0,5,6) (3,4,5,6) (2,5) (2,4,5,6,7) (3,5,6,7) (0,1,2,4,6,7) {12,23,50,200,198,246,224,38}
|
|
||||||
[.#.#..#] (1,5) (4,5) (0,1,2,3,4,6) (1,2,3,5,6) (0,1,2,3) (2,6) {23,44,43,27,16,24,33}
|
|
||||||
[..#...#] (0,3,4,5,6) (1,2,5,6) (0,1,3,5,6) (3,4) (1,4,6) (0,1,3,4) (2,4,5,6) (0,1,2,3,4,5) (0) {55,47,38,59,73,61,50}
|
|
||||||
[####...] (1,2,3,5) (4,5,6) (0,6) (0,1,2,3) (0,1,5,6) (1,2,3,4) (0,1,3) {26,39,17,23,13,22,19}
|
|
||||||
[##.#] (1) (0,1,3) (0,3) (2,3) {33,15,15,48}
|
|
||||||
[#.##] (1,2) (2,3) (2) (0) (1,2,3) (0,2,3) {20,9,43,36}
|
|
||||||
[..###..###] (0,1,2,3,4,5,7,9) (4,5) (2,3,4,7,8,9) (0,1,2,5,6) (0,3,5,6,7) (0,2,3,4,6,7,8,9) (0,1,4,6,7,8,9) (0,3,4,5,8,9) (0,1,2,3,4,6,7,8,9) (1,3,7,8,9) (1,3,4,5,6,7) {64,39,47,79,241,231,47,69,35,55}
|
|
||||||
[.#####] (0,1,3) (0,4,5) (0,1,3,5) (0,2,4,5) {40,23,3,23,17,22}
|
|
||||||
[.#..##..] (0,1,3,4,5,7) (0,2) (1) (0,1,2,4,5) (2,4,5,6,7) (0,1,2,5,6) (2,3,4,5) (0,2,3,5,6,7) (1,3,4,5,6,7) {71,67,86,73,89,106,49,66}
|
|
||||||
[.#.#.] (0,3,4) (2,3) (1,4) (0,1,2,3,4) {17,156,18,20,158}
|
|
||||||
[###.] (2,3) (0,1,3) (0,1) {14,14,11,12}
|
|
||||||
[..#...] (1,4,5) (0,1,2,3,4) (2,5) (0,2,4) (0,5) (1,2,3,5) (0) {31,25,30,24,14,31}
|
|
||||||
[#.##.] (0,1) (3) (1,2,3) (0,2,3) (1,4) (0,2) {165,164,35,44,10}
|
|
||||||
[#.#.#.] (1,2,5) (1,2,4,5) (1,3,5) (0,3,4) {1,33,19,15,16,33}
|
|
||||||
[#..#...] (1,3,4,5,6) (1,2,3,4,5) (0,2,5,6) (0,1,2) (0,4,5) (0,1,2,4,5) {44,51,39,30,56,63,26}
|
|
||||||
[..##] (0,1,2) (0,1) (0,2) (0,3) {48,15,25,14}
|
|
||||||
[#..#.....] (0,3,4,5,7,8) (2,5) (3,5,6) (4,6,7,8) (2,3,4,5) (2,3,4,7) (1,3) (0,5,7,8) (0,2,4,5,6,7) (0,2,3,7) (5,6,7) {35,16,53,64,58,76,37,69,36}
|
|
||||||
[.#....] (0,1,4) (0,2,5) (1,2,4,5) (1,2,3) (0,1,3) (2,4) (0,2,3) (1,3) {60,49,47,39,29,25}
|
|
||||||
[#.#.] (0,1,3) (0,2) (0,1,2) (1,3) {52,37,32,25}
|
|
||||||
[#.#..#.#] (1,2,5,6) (0,1,2,3,4,7) (1,2,4,5,6,7) (1,2,3,4,5,6) (2,3,4,5,6,7) (0,2,3,4,5,7) (0,4,5,7) (2,3,5,6) (0,1) (0,4,6,7) {160,44,65,54,178,185,72,164}
|
|
||||||
[.#####...] (3,5) (0,1,2,4,5,6,7,8) (1,2,3,4,6,7,8) (0,3,4,5,6,7) (1,2,3,4,5,6) (0,1,2,4,5,7,8) (5) {41,48,48,42,60,52,46,60,48}
|
|
||||||
[..#.#.#] (0,4,5,6) (0,3,5) (2,6) (1,6) (0,2,3,4,5,6) {23,11,29,21,20,23,42}
|
|
||||||
[##.#.#.##.] (3,4,6) (0,1,4,6,7,8,9) (0,1,2,5,7,9) (1,3,7,8,9) (1,2,3,4,5,7,8,9) (0,1,2,3,4,7) (1,2,3,8) (0,1,2,4,5,8) (1,3,6,9) (1,3,7,9) (3,5) (0,1,2,3,4,6,7,8,9) (0,1,4,5,8,9) {167,207,67,89,174,32,150,167,166,169}
|
|
||||||
[#..#.##] (1,2,3,4) (1,5) (2,3,5) (1,2) (0,5) (2,5,6) (1,3,4,6) {2,22,32,28,11,23,6}
|
|
||||||
[##.#.] (0,4) (1,2) (0,2,3) (3,4) (1,3) (2,3) (0,2,3,4) {40,16,52,71,29}
|
|
||||||
[#........] (0,1,3,4,7) (0,2,5,7,8) (0,3,6,7,8) (0,2,3,4,6,7,8) (1,2,5,6,7) (0,1,2) (1,3,4,7) (4,6) (0,2) {52,41,47,43,36,22,35,65,33}
|
|
||||||
[...##.#.##] (0,1,3,4,5,6,7,8) (0,1,3,4,7,8) (0,1,2,4,6,7,8,9) (0,1,8) (0,1,2,3,4,5) (8,9) (2,5) (3) (1,3,4,5,6,7,8,9) (4,8) (1,2,4,5,6,7,8) {83,121,67,77,123,90,72,91,127,48}
|
|
||||||
[.##.#.] (0,5) (0,1,2,3,5) (0,1,4,5) (0,1,4) (1,3) {31,37,9,20,17,22}
|
|
||||||
[###..#...] (1,3,4) (0,2,3,6,7) (0,2,3,5,7,8) (0,2,7) (0,2,3,5,6,7,8) (0,1,4,6,7,8) (0,1,2,3,5,6) (0,1,2,4,5,7,8) {73,54,71,63,40,60,35,59,48}
|
|
||||||
[.#.##.#] (0,2,3,5,6) (4,5) (0,1,4,5,6) (1,2,5) (0,1,2,3) (2,5,6) {216,216,242,216,0,42,26}
|
|
||||||
[.###..#.#.] (1,2,5,6,7,8) (1,5,7,9) (1,3,4,5,8,9) (0,5,7) (1,2,3,4,8,9) (2,3,5,8,9) (1,2,4,5,6,7) (1,3,4,9) (2,3,4,5,7,9) (1,5,9) (0,2,6) {17,74,36,44,45,76,12,38,49,67}
|
|
||||||
[##.#####] (0,2,3,4,5,6,7) (0,1,5) (0,2,6) (0,2,3,4,5,6) (0,1,3,4,5,6,7) (0,6,7) (0,1,2,3,6,7) {107,49,64,63,47,62,92,54}
|
|
||||||
[...#.##] (4,5) (0,3,4) (0,1,4,6) (0,2,3,5) (1,5) (0,1,2,3,5) {65,43,34,54,34,49,11}
|
|
||||||
[###.#.##] (1,2,3,5,6) (1,4,5) (1,3,4,7) (2,4,5,6) (0,1,2,4,6,7) (1,2) (0,5,7) {19,38,10,21,30,40,7,34}
|
|
||||||
[#######.] (1,3,5) (1,3,4,5,7) (1,2,3,4,5,7) (0,4,6,7) (2,3,7) (1,3,4,6,7) (1,4,5,6,7) (0,1,6) (0,2,3,4,6,7) {23,198,30,208,50,183,41,55}
|
|
||||||
[.##.#...#] (1,2,3,6,8) (0,1,3,4,6) (0,7) (0,4,6) (5,7) (1,2,3,5,6,7,8) (1,2,3) (0,2,3,4,5,7) (0,3,4,5,6,7,8) (3,7) {217,61,201,236,204,199,80,217,46}
|
|
||||||
[..###] (2,3,4) (0,1,4) (0,1) (0,1,2,4) (1,2,4) {222,242,228,14,241}
|
|
||||||
[..#.#..##] (1,3,6,7,8) (1,3,4,5,6,8) (0,1,4,5,6,7,8) (0,3,5,6,7,8) (0,1,2,6,7) (0,1,3,4,6,7,8) (1,3,4,5,7) {46,73,18,66,38,38,73,76,55}
|
|
||||||
[#.###] (0,2,3,4) (1,2,4) (0,1,2,4) {135,128,147,19,147}
|
|
||||||
[..##] (0,1,2) (1) (0,3) (0,2) {34,34,22,12}
|
|
||||||
[.##...#.] (0,2,5,7) (2,3) (4) (0,4,5,6,7) (0,1,2,3,4,5,6,7) (0,2,3,4,5,6) {32,9,39,34,29,32,27,14}
|
|
||||||
[.#..#.#] (0,2,6) (0,1,3,5) (0,1,3,5,6) (1,3,4) (0,3,4,5,6) (1,4,6) (0,3) (0,1,2,3,5) {63,42,20,59,14,36,23}
|
|
||||||
[.#.#####.#] (0,2,3,4,6,7,8,9) (0,2,6,8) (0,1,2,6,8,9) (2,3,4,5) (2,3,4,5,6,7,8,9) (0,2) (1,2,3,4,6,9) (0,2,5,7,8) {40,27,70,38,38,23,56,26,49,48}
|
|
||||||
[#.#.#.#] (0,5,6) (0,1,2,3,4) (0,1,2,5,6) (0,1,3,4,6) (0,2,4,6) (5) (0,1,4) (0,1,2,3,4,5) (4) {48,38,24,9,35,41,23}
|
|
||||||
[###....#..] (0,2,4,9) (0,7) (1,2,4,6) (1,4,5,7,8) (0,1,3,5,7,8,9) (0,2,5) (0,1,2,3,6,7) (1,2,4,5,7,9) (5,6,8,9) (0,4,6,8) (0,1,2,3,4,5,6,8,9) (1,2,3,4,5,6) {197,55,181,40,62,198,45,41,53,50}
|
|
||||||
[.##....##] (1,2,4,7) (0,2,3,4,6,7,8) (2,4,6) (0,2,3,6,7,8) (1,2,8) (3) (0,1,2,3,5,7,8) (0,2,5,6) {55,42,84,51,34,35,42,51,51}
|
|
||||||
[.#####.] (1,3,4,6) (1,3,4) (1,3,4,5) (1,2,3,4,5) (0,1,2,4) (4,5) (0,1,2,3,5) (1,6) {17,76,29,49,66,47,31}
|
|
||||||
[.#..] (3) (0,3) (1,2) (0,1,3) (1) (0) {54,44,17,39}
|
|
||||||
[#.##] (0,1,3) (0,2,3) {27,16,11,27}
|
|
||||||
[#.....] (3,5) (0,1,3,4,5) (0,2,3,4,5) (0,1,5) (1,4) (0,1,2,5) {200,207,5,20,29,201}
|
|
||||||
[.#..###.#] (0,1,2,4,5,6,7,8) (1,3,4,6,7,8) (1,3,6) (0,1,3,4,5) (1,2,3,4,5,6,8) (4,8) (0,2,4,7) (4) (2,3,4,5,8) (0,3,5,6,7,8) {41,50,22,46,84,39,34,30,43}
|
|
||||||
[.####.] (0,2) (1,2) (1) (0,5) (0,2,3) (0,1,4) (1,3,4,5) (1,2,4,5) {12,28,23,5,15,12}
|
|
||||||
[#....#.#] (0,2,3,5,6) (2,5,7) (0,1,4,5,6,7) (2,6) (3,4,6) (1,7) (0,6) (0,1,2,3,4,7) {42,23,38,27,21,30,50,27}
|
|
||||||
[###.] (0,1,2) (1,2) (1,2,3) (0,3) (1) {148,181,171,15}
|
|
||||||
[#.#....#] (0,3,6) (2,4,5,6) (3,5) (1,2,3,5,6) (1,2,4,6,7) (1,3) {10,23,8,185,3,160,18,1}
|
|
||||||
[#.#.##.] (0,1,3,5) (0,3,5,6) (1,2,3) (0,6) (0,2,3,4,6) (2,5) (0,4,5) (1,3,6) {228,210,37,243,30,213,50}
|
|
||||||
[..#.#..#] (2,5,6,7) (1,2,7) (0,1,4,5,6) (0,3,4,5,6) (0,1,5,6,7) (0,1,2,3,7) (0,1,2,5,6,7) (4,7) {45,49,41,21,18,31,31,52}
|
|
||||||
[.##.] (2,3) (0,3) (1,2) (0,2) (1) (3) {20,21,30,47}
|
|
||||||
[.###.##] (0,1,2,6) (0,3,5) (0,1,2,4,6) (3,4,5,6) (1,2,3,4,6) {25,32,32,205,222,198,230}
|
|
||||||
[##..##] (0,2,4,5) (2,4) (1,3,4,5) (0,1,3,4) (2,3) (1,4) {185,43,206,45,229,188}
|
|
||||||
[..#.##] (0,2,4,5) (2,4,5) (1,2,3,4) (0,1,2,4,5) (0,3,4) (1,3,5) {29,21,47,33,59,28}
|
|
||||||
[.#....#.##] (2,3,5) (1,4,6,7,8) (3,4,5,6,8) (1,2,3,5,7,8,9) (0,2,3,4,5,6,9) (0,1,3,4,5,7,8,9) (1,9) (0,2,4,5,8) {18,38,43,46,34,59,20,20,48,41}
|
|
||||||
[#..#] (1,2,3) (1,2) (0,3) {19,11,11,25}
|
|
||||||
[##..##] (1,2,3,4) (3,5) (1,2,5) (1,2,4,5) (0,1,5) {9,33,24,18,14,39}
|
|
||||||
[#.#....###] (5,7,8) (0,1,3,5,7) (0,3,8) (0,1,2,3,5,6,7) (0,1,2,3,5,6,7,9) (0,2,4,5) (4,9) (3,5,7,8) (0,1,2,4,6,7,9) (1,2,3,4,5,6,7,9) (2,4,6) {70,64,67,63,56,90,50,84,28,44}
|
|
||||||
[#...#.] (0,2,3,4,5) (0,1) (0,1,2,3) (0,2,3,5) (1,4) {47,44,34,34,14,14}
|
|
||||||
[.#.##.#...] (0,6) (4,5,6,7) (0,1,2,3,4,5,9) (1,2,3,4,5,6,7,9) (4,7) (1,3,4,6) (2,3,6,8) (0,1,3,9) (0,2,3,4,5) (0,3,4,6,7,9) {54,34,43,69,61,33,40,17,10,26}
|
|
||||||
[.##..##] (0,2,4,5,6) (2,3,4,6) (0,1,2,3,4) (1,2,5,6) (0,3,5) {26,2,19,13,17,28,19}
|
|
||||||
[...####] (5) (1,3,4,5,6) (0,1,2,3) (0,1,2,3,5) (2,6) (1,2,5,6) (2,3) {26,41,175,48,5,32,137}
|
|
||||||
[.#...#] (1,2,4) (0,1,2,3) (0,2,3) (1,3,4) (2,3) (1,3,4,5) {23,124,29,139,110,109}
|
|
||||||
[####...] (0,1,2,5,6) (2,5) (0,1,2,3,4,6) (1,2,6) (1,2,3,4,5,6) (5) (0,3,5,6) (0,2,3,4,5) (0,2,4,6) {28,37,59,16,17,55,40}
|
|
||||||
[..#.#.##] (0,1,2,3,4,5,7) (3,7) (0,1,3,5,6) (0,1,2,4,5,6,7) (1,3,4,5,7) (0,1,2,3,6,7) (0,2,4,5,6,7) (0,1,2,3,4,7) (0,5,6,7) (5,6) {66,61,39,79,51,79,54,85}
|
|
||||||
[###.] (0,2) (0,1) (0,1,3) (1,2,3) (3) (1) {27,33,6,22}
|
|
||||||
[.#..##.] (2,3,4,6) (0,2,3,4) (2,3,4,5,6) (0,1,3,4,5,6) (0,1,4,5,6) (4,5) (0,1,3,6) (0,2) {35,28,16,32,58,51,37}
|
|
||||||
[.#.#] (1,3) (0,2) (0,1) (0,3) {25,10,2,23}
|
|
||||||
[##.##] (0,4) (2) (0,1,2,4) (0,1,4) (1,3) (0) (2,4) {31,28,27,10,29}
|
|
||||||
[..##.] (0,2,4) (0,3,4) (0,1,2,4) {210,1,190,20,210}
|
|
||||||
[##.#.] (3) (0,1,2,4) (1,2,4) (0,2,4) (0,2,3,4) {24,14,35,20,35}
|
|
||||||
[####.] (0,3,4) (0,2,3,4) (1,2,3) (2,3,4) {4,14,19,19,5}
|
|
||||||
[###.#] (0,1,2,3,4) (0,1,2,4) (2,3) {138,138,154,25,138}
|
|
||||||
[#..##.] (0,2,4,5) (5) (0,1,3,4) (1,2) (1,3,4) (0,1,5) {38,50,14,29,39,42}
|
|
||||||
[.##.##..#] (0,2,3,4,7,8) (1,2,4) (1,2,3,4) (0,1,2,5,6,8) (0,1,2,3,4,8) (0,1,2,3,4) (6,8) (1,5,7) (3,6,8) (2,4,5,7) {63,68,98,85,86,37,38,42,73}
|
|
||||||
[.###.#..#] (0,1,2,3,4,5,7) (0,1,4,5,7,8) (0,2,3,5,6) (1,3,5,6,8) (0,4) (2,5,6) (4,6) (0,4,8) {46,23,28,33,52,37,39,14,13}
|
|
||||||
[####...#] (3,4,5,7) (0,1,2,5,6,7) (0,1,3,6,7) (0,2,3,4,5,6,7) (5,7) (0,6) (2,3,5,6,7) (0,1,2) {36,28,33,44,11,36,41,52}
|
|
||||||
[##.##.#.] (0,3) (2,3,4,5) (0,2,7) (0,1,2,4,6) (4,5) (1,3,4,6,7) {206,26,31,198,43,17,26,31}
|
|
||||||
[..#.#.] (1,2,4,5) (0,1,3,4,5) (0,2,4) (3,4) (0,1,2,3,5) {19,20,19,207,198,20}
|
|
||||||
[##.###.#.#] (0,7,9) (2,3,4,5,6,7,8,9) (3,4,5) (1,2,3,5,6,9) (0,1,7) (2,6) (0,1,2,3,5,6,9) (1,2,3,4,5,7,8,9) (3,4,5,8,9) {18,45,62,69,46,69,46,37,26,56}
|
|
||||||
[##.###..#] (1,4,6) (1,5) (2,5,7,8) (0,2,3,4,5,6,8) (2,3) (0,2,3,5,6,7,8) (0,3,7,8) (0,1,2,4) {34,25,33,33,20,32,19,35,40}
|
|
||||||
[.#.###] (3,5) (0,2,4) (2,4) (1,3,4,5) {7,14,27,27,41,27}
|
|
||||||
[..##.#..] (0,1,3,4,6,7) (0,1,4,5,6,7) (0,1,2,3,4,6) (0,2,3,5) (0,1,2,4,5,6,7) (1,2,3,5,6,7) (0,4,5,6,7) {80,60,48,37,70,55,71,53}
|
|
||||||
[..###..] (2,3,4) (0,1,3,4,5) (0,2) (1,2,3,5) (1,2,6) (1,2,3,4,5) (1,5) {15,55,55,57,48,50,5}
|
|
||||||
[######] (0,2,3,4) (0,2,4,5) (0,2,3,5) (0,1,2,4) (1,4) {18,10,18,9,20,7}
|
|
||||||
[#.##] (2) (2,3) (0,1,3) (1) {0,4,198,11}
|
|
||||||
[###.....#] (3,5) (1,4,6,7) (0,1,3,4,5) (0,1,3,4,6,7) (0,1,3,5,7) (2,3,7) (1,2,3,4,5,6,8) {28,211,185,231,202,202,199,49,172}
|
|
||||||
[....#.#..#] (0,2,5,6) (0,1,2,3,4,5,6,9) (2,4,5,8,9) (3,4,7,8,9) (4,8) (0,3,7,8,9) (0,1,4,5,7,8) (0,1,2,3,5,6,8,9) (1,4,6) {241,218,216,244,241,227,211,48,85,249}
|
|
||||||
[..#..###.] (2,8) (5,7) (0,4,7) (0,2,3,7,8) (0,2,4,5,6,8) (3,4,6) (0,1,3,4,5,7,8) (2,5,6) (2,3) (1,5) (1,2,4) {22,21,21,30,40,36,29,23,18}
|
|
||||||
[#.#.] (1,2,3) (0,2) {15,4,19,4}
|
|
||||||
[#.###.] (4) (0,1,2,5) (0,2,3,4) (0,2) (0,2,4,5) (2) {214,8,214,9,19,8}
|
|
||||||
[###.###] (0,2,4,5) (0,1,3) (1,3,4,5) (0,1,3,4,5) (0,1,2,4,5) (0,1,4,5,6) (0,4) (1,2) (0,3,4,5,6) {223,77,39,188,225,207,166}
|
|
||||||
[##.#....] (2,3,4,6,7) (0,1,2,5,6,7) (0,1,2,4,6) (0,2,3,7) (0,1,3,4,5,6,7) (1,2,3,4,5,6) (5,6) (0,1,3) (0,2,3,4,6) {52,31,35,56,21,17,30,32}
|
|
||||||
[#.#.#.] (1,2,3,4) (0,4,5) (2,4,5) (0,1,3,4) (0,2,4) {132,3,34,3,152,135}
|
|
||||||
[..###] (0,1,3) (1,4) (1,2,3) {8,27,0,8,19}
|
|
||||||
[.##.#.] (0,1,2,3,4) (2) (0,2) (0,1,3,5) (0,2,3,4,5) (2,3,5) (1,2,4,5) {50,19,69,42,23,33}
|
|
||||||
[#####.#] (0,2,3,4,6) (0,3,4,5) (1,6) (0,2,4) (0,1,2,4,6) (3,5,6) (0,1,3,4,5,6) (0,1,2,3,5) (0,1,2,4,5) {90,67,71,72,72,69,67}
|
|
||||||
[##.#.####] (0,1,3,5,6,7,8) (0,1,2,3,4,5,7,8) (1,2,3,7) (0,2,5,6,7) (0,4,5,6,7) (1,3,4,5,6,7,8) (1,2,3,4,5,7,8) {48,38,43,38,27,61,43,66,33}
|
|
||||||
[#...#] (0,4) (1) (0,1,3,4) (2,4) (2) (0,2,4) (0) {30,23,171,3,187}
|
|
||||||
[.##.#.] (0,1,2,3,4) (3) (0,1,3,4,5) (1,2,3,4) {18,29,29,48,29,0}
|
|
||||||
[.##.######] (3,6) (3,5,6,9) (0,1,4,6,7,9) (0,1,2,4,5,6,7,9) (2,3,8) (0,1,2,3,4,5,6,9) (1,4,6,7,9) (1,4,5,6,8,9) (0,1,4,5,9) (0,1,2,3,5,6) (2,5,6,7,8) (0,3,4,5,8) (2,3,7) {75,76,84,94,78,111,115,77,46,79}
|
|
||||||
[...###.] (0,2,6) (0,1,4,5,6) (0,3,4,5,6) (0,2,3,4,6) (0,1,2,4,5,6) {134,118,125,13,131,123,134}
|
|
||||||
[#.#.#.#.] (6,7) (0,3,6) (0,2,4,5,6,7) (4,6) (0,1,2,4,5,6) (1,3,4,5) (1,2,3,5,7) (0,2,3,5,6,7) {41,38,56,40,45,64,67,62}
|
|
||||||
[.#.....#] (1,3,5,6,7) (2,3,5,6,7) (0,1,2,4) (0,1,4,7) (0,1,6,7) (1,4,5) {200,229,196,25,217,43,26,43}
|
|
||||||
[#.#.####] (0,6) (0,4,5,6,7) (0,1,4,5,6,7) (6,7) (1,4) (2,7) (0,2,4,5,7) (5,6) (3,7) (1,2) {46,24,27,13,37,30,56,64}
|
|
||||||
[##.#] (0,1,2) (1,2) (0,2,3) {16,20,26,6}
|
|
||||||
[.#.#..] (0,1,3) (0,1,4,5) (1,4,5) (0,4,5) (0,1,2,3) (0,2,4,5) (0,2) (0,2,3,4,5) {204,36,42,30,195,195}
|
|
||||||
[##...#.##] (2,4,6,8) (0,1,3,5,7) (2,3,4) (1,2,3) (4,5,6,8) (0,1,3,4,5,7) (1,4,5,6) (1,2,7,8) (0,1,3,5,8) (5,8) (0,5,7) {30,54,56,41,38,55,24,36,73}
|
|
||||||
[..#.#.##] (2) (0,3,4,5,6,7) (0,4,5,6,7) (1,2,3,5) (0,1,2,3,4,6,7) (0,2,3,5) {42,20,50,40,32,36,32,32}
|
|
||||||
[####] (0,3) (1,3) (0,2) {13,196,6,203}
|
|
||||||
[.#####] (1,5) (0,1,3,4) (1,2,3,5) (2,3,4) {7,30,19,26,8,23}
|
|
||||||
[.#..#####.] (1,2,3,5,6,7,9) (1,2,3,4,5,7,9) (1,5,7,8) (0,1,2,3,4,5,7,9) (1,3,5) (0,3,5,6) (1,2,7) (1,3,5,7) (1,3,4,7,8) (0,2,3,4,5,7,8,9) {29,183,37,189,158,63,19,188,154,36}
|
|
||||||
[###.] (1,2) (0,1,2) (0,1,3) {28,35,26,9}
|
|
||||||
[#.#.] (0,1,3) (0,2) {27,17,10,17}
|
|
||||||
[.####.##] (3,5,6) (0,4,6) (5) (0,2,3,4) (0,3,5,6) (0,1,2,5,6) (3,4,7) (0,2,4) {51,9,25,37,37,44,50,4}
|
|
||||||
[...#.#..##] (4,8,9) (0,1,2,3,6,8,9) (0,2) (0,1,2,3,8) (1,2,6) (1,2,4,6,8,9) (2,3,5,9) (1,5,9) (0,1,2,4,5,8) (1,2,3,4,5,6,7,8,9) {55,63,75,44,32,30,35,14,61,36}
|
|
||||||
[....#.#] (3,6) (0,6) (2,5) (1,2,3,4,6) (2) (0,4) (1,3,5) (0,1,2,3,6) {39,29,41,47,12,29,57}
|
|
||||||
[##.##] (0,1,3) (0,1,2,3) (1,2,3,4) (1,2,3) (0,3,4) (1,3,4) {20,27,14,34,11}
|
|
||||||
[#.##] (1,3) (0,2,3) {11,15,11,26}
|
|
||||||
[#.#..#] (0,1,3) (0,1,2,3,4) (0,1,3,4) (1,3,4,5) (0,1,4,5) (0,2,3,4,5) (0,1,5) (0,2,3,4) {94,87,39,88,81,55}
|
|
||||||
[...#..#] (0,1,2,3,5,6) (0,3,5) (0,1,2,3,5) (0) (0,1,3,4,6) (1,4,6) (0,6) (1,3,4) (1,2) {39,52,11,40,41,8,35}
|
|
||||||
[##...##.#] (0,2,4,5,6,7) (1,2,3,4,5,6,7) (0,2,3,4,6,7) (0,1,2,4,5,6,7,8) (0,2,3,6) (0,1,5,6) (0,1,3,4,5) (0,1,2,3,6,7) (0,1,3,5) {62,54,41,40,48,56,55,39,14}
|
|
||||||
[.#.#] (1,3) (0,1,3) (2,3) {14,23,14,37}
|
|
||||||
[.#...#] (1,2,3,4) (0,4,5) (3) (0) (0,1,2,5) (0,2) (1,5) {21,30,20,115,1,31}
|
|
||||||
[##.#..#.##] (0,9) (0,1,2,3,4,5,6,9) (0,1,2,4,6,9) (0,6,7) (0,1,4,6,7,8) (3,4,7) (0,1,3,4,5,6,7,8) (0,1,4,5,6,7,9) (0,2,3,4,6,7,8) (0,1,2,5) {99,74,29,30,66,49,67,56,36,45}
|
|
||||||
[#.#....] (0,2,5,6) (3,6) (0,1,2,6) (0,1,2,4,5) (3,5,6) (1,3,4,5,6) (0,1,3,5) {46,48,36,43,32,69,50}
|
|
||||||
[#.###] (2,3) (2,4) (0,1,2) (0,4) {25,15,37,6,26}
|
|
||||||
[#...##] (0,2,3,5) (0) (0,1,4) (2,3,5) (2,3) (0,1,3) (0,1,4,5) (2,3,4) {54,46,37,52,38,31}
|
|
||||||
[.##.##] (0,1,2,3,4) (1,2) (1,2,3,5) (0,5) (2,5) (0,1,2,3) (1,2,4,5) (0,2,4) {18,45,58,22,23,50}
|
|
||||||
[#...#.##.] (1,2,4) (2,5,6,8) (0,2,3,7,8) (0,1,2,3,5,8) (0,3,7) (0,2,3,4,7,8) (0,1,3,7,8) (5,6) (0,2,3,4,6,7,8) (2,3,4,5,6,7,8) (0,8) {248,197,238,250,51,202,49,79,264}
|
|
||||||
[##..] (0,2) (1) (1,2,3) (3) (0,1) (0) {27,215,20,24}
|
|
||||||
[..#..#.###] (0,2,3,4,5,6,8,9) (3,4,5,9) (0,1,2,4) (0,2,4,6,7,8) (0,1,2,3,4,5,6,8,9) (0,2,3,4,5) (0,1,3,4,7,8,9) (2,4,9) {58,26,202,45,228,29,27,30,43,199}
|
|
||||||
[##..#....] (0,2,3,5,6) (0,1,2,5,6,8) (1,2,4) (0,1,2,3,6,7,8) (0,1,2,3,4,5,6,7) (0,1,5,6,8) (1,2,3,5,6,7,8) (1,7) (0,1,2,3,4,6) {73,97,77,62,29,59,85,58,49}
|
|
||||||
[......#.] (0,1,3,4,5,7) (2,6) (0,2) (1,2,3,4,7) (0,1,2,4,7) (0,4,5,7) (2,3,4,5,6) (4,7) (1,2) (1,3) {19,35,49,11,30,5,17,30}
|
|
||||||
[...###.#.] (4,5) (0,2,4,8) (3,6,7) (0,1,2,6,7) (0,1,2,3,4,5,8) (0,4,8) (1,3,6,8) (6) (0,3,4,8) (3,6) (0,1,3,4,5,7) {48,30,24,67,52,24,57,28,45}
|
|
||||||
[..#..#] (2,5) (1,2,3,4) (2,4,5) (0,1,3) (1,5) (2,3,4,5) {17,31,45,30,32,45}
|
|
||||||
[##.#....] (0,2,5,7) (0,2,3,7) (1,2,3) (0,3) (1,2,5,6) (4,5,6,7) (2,4,5,6,7) (0,6,7) (1,2,3,4,5,6) {38,21,44,25,19,39,50,45}
|
|
||||||
[...#.###] (0,4,7) (0,1,4,5,6,7) (0,1,2,3,5,7) (3) (1,2,4) (0,1,3,7) (2,3,4,5,7) {54,54,36,32,42,26,7,55}
|
|
||||||
[.#..#] (2,4) (0,2,3) (1,4) (0,2,3,4) (2,3,4) {16,19,52,36,63}
|
|
||||||
[..#.#....] (1,2,3,4,6,7,8) (2,3,5,6,7,8) (2,3,4,6,7) (4,6) (2,4) (0,1,2,6,7,8) (0,3,4,5,6,8) {29,15,62,65,67,40,88,54,55}
|
|
||||||
[.#.#...#.#] (1,4,5,6,7,9) (3,6) (0,1,6,7,9) (0,1,2,3,5,6,7) (1,3,4,5,6,7,8) (0,4,5,6) (0,4,6,9) (0,2,8,9) (1,2,3,4,5,7,8,9) (0,2,3,6,8,9) (1,9) (0,3,4,5,6,7) (0,1,5,7,8,9) {70,49,40,51,45,46,81,42,49,67}
|
|
||||||
[.###.#.#.] (2,3,4,5,6,7,8) (1,7) (0,3,6) (0,3,7) (0,2,4,6,8) (2,3,4,6,7,8) (1,2,5) (2,4,5,6,7) (1,2,4,5,6,7,8) {41,36,70,63,57,47,76,82,42}
|
|
||||||
[#.##.#..] (5,6,7) (0,1,3,4,5,6) (0,1,3,5,7) (2,4,5,6) (0,1,2,3,5,7) (1,2,5) (0,1,2,4,5,6) (0,1,2,3,4,5) {56,61,40,50,31,67,26,31}
|
|
||||||
[..#######] (1,4,8) (2,5,6) (6) (0,1,2,3,4,6,8) (7) (1,2,5,6,7,8) (1,2,3,4,6,7,8) (1,6) (0,2,3,4,5,6,7,8) (7,8) (0,7,8) {30,60,62,40,53,34,93,44,69}
|
|
||||||
[###..#] (0,1,4,5) (1,5) (1,2,3,4) (1,2) (0,1,2,3,4) (0,2) (0,1,2,5) (2,3) {52,66,67,27,29,36}
|
|
||||||
[.##.#.#..] (0,1,2,3,5,6,7) (1,2,3,7,8) (0,2,6) (0,5,7) (1,2,4,6) (1,6,7,8) (0,1,2,3,4,5) {51,34,42,16,20,32,37,33,14}
|
|
||||||
[###.###.#.] (0,1,4,5,6,7,8,9) (0,2,3,4,5,8) (1,2,3,4,6,8,9) (0,1,2,3,5,7) (0,3,5,7,8,9) (0,4,5,6,7,8,9) (0,1,3,4,5,6,8) (1,7,8) (0,2,5,6,8,9) {78,50,56,53,57,78,64,56,97,77}
|
|
||||||
[##.#] (1,3) (0,1,2) (0,2) (2,3) (1,2) {35,44,75,26}
|
|
||||||
[##..##] (0,1,4,5) (1,2,3,4) (1,2,4) (4,5) (0,1,5) {33,59,26,15,53,45}
|
|
||||||
[.####] (1,2,4) (0,3,4) (0,1,4) (0,4) {39,14,9,14,48}
|
|
||||||
[.....#####] (2,7) (6,7,8) (2,5,8,9) (4,6,8) (0,5,6) (0,1,2,3,4,5,6,8) (0,1,6,8) (0,1,2,3,4,5,6,7) (1,2,3,4,5,7,8) (2,4,5,7,8) (0,1,2,4,5,6,8,9) {61,58,77,23,66,63,90,69,85,22}
|
|
||||||
[..##.] (2) (4) (3) (0,2) (1) {8,6,18,17,4}
|
|
||||||
[...#] (2,3) (0,2) (1,2) (1) (1,3) {10,47,180,162}
|
|
||||||
[..##..#.##] (0,1,2,3,4,5,6,8) (1,3,4,5,6,7,8,9) (1,3,4,6,8) (0,4,6) (1,2,3,6,8) (0,1,2,3,5,7,8,9) (9) (0,3,4,7,8,9) (0,1,3,4,7,8,9) (0,4) (0,1,2,3,4,5,7,8) (0,2,3,5,6,9) {100,206,46,235,240,43,206,53,226,77}
|
|
||||||
[.##.....#] (1,2,4,5,6,8) (0,2,4,5,7) (3,4,8) (1,2,4,5,6,7,8) (3,4,5,6,7,8) (1,4) (0,2,3,4,5,6,8) (1,2,3,4,5,6,8) (0,1,3,4,5,6,7) (2,3,4,5,7) {23,59,82,43,93,90,63,53,57}
|
|
||||||
[######..#] (0,1,2,3,5,7) (0,1,2,3,4,5,8) (2,3,4,5,6,7,8) (0,1,2,3,4,8) (2,6,8) (1,4,5,7) (2,7,8) (1,3,6) (0,3,4,5,6,8) {54,69,76,88,62,55,56,44,75}
|
|
||||||
[.##..#.] (2,3,4,5,6) (0,1,2,5,6) (0,5) (0,1,5,6) (1,2,4,5) (0,2,3,5,6) (0,1,3,5,6) (0,2,3,4,5,6) {52,34,49,31,13,64,50}
|
|
||||||
[#..##.] (2,3,5) (1,3,5) (0,2,4,5) (0,3,4) (2,4) {14,4,44,31,33,29}
|
|
||||||
[.#.#.#] (0,4,5) (2,3,4) (0) (1,2) (0,2,3,5) (1,3,5) (4) {11,4,16,14,16,6}
|
|
||||||
[#.##] (0,1,2) (0,2) (2) (1,2) (0,3) {2,6,25,0}
|
|
||||||
[###.#....#] (0,2,3,5,6,8,9) (0,1,2,3,4,5,8) (1,6,8) (0,2,4,5,6,7) (0,1,2,3,4,6,7,8) (0,2,4,5,6,7,9) (3,7) (1,3,4,8) (0,1,2,3,4,5,7,8) {199,66,199,195,63,185,184,43,209,144}
|
|
||||||
[##.###.#.] (2,3,4,5,8) (0,1,7,8) (0,5,6,7) (1) (0,1,2,3,4,5,8) (3,4) (1,6) (1,2,4,5,6,7,8) {26,51,25,23,34,37,39,25,27}
|
|
||||||
[.#.##...##] (0,1,2,3,5,6) (0,1,4,7,8) (1,3,8) (0,1,4,5,7,8,9) (1,4,5,7,9) (1,4,6,9) (1,5) (0,2,4,6,7,8) (0,3,5,6,8,9) (2,3,4,5,6,7,8,9) (0,1,2,3,7,8,9) {63,102,51,48,84,61,65,70,72,51}
|
|
||||||
[#.#..#.#.] (0,2,3,6,7) (2,4,7) (0,2) (1,2,3,5,6,7,8) (0,1,2,3,4,6,7,8) (1,2,3,6) (0,3,6,8) (4,6,7) (4,5,8) {51,44,69,77,48,22,85,62,59}
|
|
||||||
[#.#....#] (2,4,5) (3,4) (0,1,2,3,5,6,7) (0,1,2,3,4,5,7) (1,4) (0,1,2,4,6) (2,3,6) {14,34,36,37,45,14,24,10}
|
|
||||||
[####..#.#] (0,1,3,4,5,6,7) (2,4) (3,5) (1,2,8) (0,5,6) (3,6) (1,4) {18,18,13,24,17,25,29,6,7}
|
|
||||||
200
day10/input.x
200
day10/input.x
@ -1,200 +0,0 @@
|
|||||||
0x5 0xb 0x5 0x3 0xe 0x8
|
|
||||||
0x24d 0x1ff 0x9c 0x356 0x2db 0x35f 0x24 0x54 0x28 0x1a0 0x3b7
|
|
||||||
0x1 0x17 0xc 0x16 0x18 0x11 0x15
|
|
||||||
0x12e 0x42 0x16c 0xd0 0x181 0x1b0 0x1a 0x1af 0x7b
|
|
||||||
0x17 0xd 0x5 0x18 0xb 0x19
|
|
||||||
0xa 0x7 0xa
|
|
||||||
0x1ce 0xf2 0x2d7 0xb3 0x104 0x99 0x1bf 0xb4 0x119
|
|
||||||
0x2d5 0x3f2 0x102 0x13b 0x193 0x3fb 0xeb 0x15 0x3fe 0x2bf
|
|
||||||
0x74 0x6b 0x27 0x11 0x29 0x2f
|
|
||||||
0xe5 0x7e 0x30 0xaa 0x86 0x14 0xed
|
|
||||||
0x178 0x32e 0x113 0x108 0x2b1 0x16a 0x233 0x8e 0x1de 0x28c 0x133 0x1f3 0x3f6 0x15a
|
|
||||||
0x11 0x5b 0x12 0x26 0x3a 0x30 0x1b
|
|
||||||
0x35 0x10 0x3c 0x39 0x6 0x22 0x11 0x9
|
|
||||||
0xe 0x2ea 0x13 0x8c 0x19c 0x1f7 0x210 0x218 0x13b 0x82 0x55 0x308
|
|
||||||
0x19 0x19 0x3c 0x23 0x24
|
|
||||||
0x3d5 0x6a 0x16a 0xd8 0x30f 0x382 0x3c7 0x1a8 0x239 0x3d5 0x27d
|
|
||||||
0xc 0x24 0x1c 0x77 0x43 0x3f
|
|
||||||
0x6f 0xe0 0x81 0xe3 0x5b 0x2f 0xdb 0x11 0x21 0xf7 0x89
|
|
||||||
0x3c5 0x8b 0x2a4 0x30c 0x18d 0x3ec 0x2a0 0x3ba 0x5a 0x209 0x338 0x33c 0x42 0x10c
|
|
||||||
0x226 0x1e9 0x21 0x1fc 0x17d 0x163 0xc2 0x13c 0x130 0x1cd 0x3f6 0x234 0x3ae
|
|
||||||
0x2d9 0x1ef 0x27e 0x1ed 0x25d 0x33c 0xe6 0x374 0x37b 0x341 0x3b7 0x180 0x9
|
|
||||||
0x204 0x81 0xfb 0x3fd 0x2ff 0x8 0x381 0x2fb 0x206
|
|
||||||
0x15 0x1f 0x15 0x16
|
|
||||||
0x1 0x14 0x4 0xe 0x11 0x1 0x1b
|
|
||||||
0x8 0xe 0x3 0x6 0x15 0xb 0x11 0xc
|
|
||||||
0x1f 0x1d 0x1c 0x2 0xb 0x6 0x19 0xe
|
|
||||||
0xa5 0x16 0xb4 0x27 0x30 0x54 0xfd 0x2a
|
|
||||||
0xb2 0x75 0x6 0x7f 0x86 0x1e 0x24 0x2f 0x17 0xeb
|
|
||||||
0x29 0x22 0x6 0x7d 0x3b 0x78 0x11
|
|
||||||
0x11 0x4f 0x33 0x6b 0xc 0x25 0x6c 0x17 0x7e 0x40
|
|
||||||
0x78 0x3a 0x7 0x41 0x78 0x63 0x3c 0x68
|
|
||||||
0xd 0x4 0xd 0x9 0x3
|
|
||||||
0xb 0x6 0x3 0x2 0x8 0x7 0xb
|
|
||||||
0xe7 0x3f5 0x30 0xe7 0x398 0x25c 0x2ef 0x32f 0x273 0x3ef 0x147 0x17c
|
|
||||||
0x1f 0x34 0x23 0x35 0x2b
|
|
||||||
0x4c 0xdd 0xa0 0x40 0xec 0x2f 0xe6 0x3c 0xb7 0x5f
|
|
||||||
0xa 0x13 0x6 0x9 0x1f
|
|
||||||
0xe 0x3 0xd 0xc
|
|
||||||
0x8 0x13 0x3e 0x9 0x2a 0x21 0x1d 0x20
|
|
||||||
0x16 0x18 0x2 0xe 0x16 0x9 0x14
|
|
||||||
0x2a 0x19 0x1b 0x15 0x26
|
|
||||||
0x48 0x2f 0x3e 0x53 0x70 0x46 0x76
|
|
||||||
0x3 0xe 0xc 0xa 0x9
|
|
||||||
0x120 0x13b 0x48 0x2c 0x17 0x78 0x72 0xa0 0x10b 0x15e 0x162 0xe
|
|
||||||
0x10 0x32 0x29 0x1b 0x1c 0x34 0xa 0x2c 0x14
|
|
||||||
0xa 0xd 0xa 0xe 0x5
|
|
||||||
0xa5 0x66 0xf9 0x6f 0x7e 0x3f 0xbd 0x8d 0x36 0xc0 0x8b
|
|
||||||
0xf8 0x28 0x1df 0xf7 0x13e 0xfc 0x1db 0x8
|
|
||||||
0x15 0x47 0x4a 0x11 0x21 0x5f
|
|
||||||
0x356 0x68 0x32f 0x395 0x147 0x1f7 0x3e4 0x1c2 0x3b2 0x149 0x145 0x50 0x3ef 0x333
|
|
||||||
0x4b 0x3c 0x22 0x1a 0x30 0x42 0x13 0x2d
|
|
||||||
0x1a 0x11 0xc 0x16 0x3 0xa 0x6 0x17
|
|
||||||
0x100 0x1b2 0x14b 0x127 0x177 0xce 0x1c0 0xb2 0x14 0x140
|
|
||||||
0x6b 0x37e 0x366 0x3af 0x302 0x3f0 0x3 0x90 0x40 0x17f 0x22 0x1be
|
|
||||||
0x1a 0x21 0x3d 0x33 0x32 0x14
|
|
||||||
0x1c8 0xb0 0x166 0x16b 0x142 0x16f 0x197 0x1ec 0x1db
|
|
||||||
0x2d 0x5b 0x6 0x67 0x32 0x78 0x13
|
|
||||||
0x1ca 0x19e 0x115 0x173 0x214 0x1e3 0xd3 0x1bc 0x161 0xf5 0x111 0x288
|
|
||||||
0xdf 0xbf 0xc4 0xa2 0xbe 0xdf 0x83 0xf3
|
|
||||||
0xb 0x6 0x4c 0x65 0x5a 0x22 0x7a
|
|
||||||
0xeb 0x76 0x4c 0x59 0x2e 0xeb 0x60 0x85
|
|
||||||
0xfe 0x54 0x5d 0x7d 0x8b 0x31 0x5b 0x4f 0xc2 0xbb
|
|
||||||
0xd1 0xe5 0x1b4 0x102 0x114 0xa 0xef 0xe0 0x17a 0x13f 0x22
|
|
||||||
0x7 0x7 0x19 0x18 0x1d 0xd
|
|
||||||
0x53 0xa7 0xbd 0x19f 0x12f 0x1c6 0x1b7 0xba
|
|
||||||
0x17 0x17 0xd 0x1d
|
|
||||||
0x3 0xe 0x4 0x9 0xa
|
|
||||||
0x62 0xa5 0x30 0x8 0x8f 0xff 0xbe
|
|
||||||
0x25 0x51 0x6a 0x6b 0x2c 0x4f 0x25 0x48 0x7a
|
|
||||||
0x17d 0x2ef 0x28a 0x38b 0xf0 0xff 0x280 0x1e9 0x296
|
|
||||||
0x55 0x43 0x7c 0x73 0x6d 0x55 0x2 0x64 0x7e 0x4
|
|
||||||
0x384 0x2a1 0x204 0x1a8 0x136 0x357 0x290 0x3cc 0x1b5 0x1b 0x22a 0x3fb 0x1f8
|
|
||||||
0xc3 0xd2 0x177 0x54 0x167 0xc1 0x20 0x1eb 0x14c
|
|
||||||
0x3e 0x2d 0x2c 0x2e 0x3e 0x74 0x6 0x7a 0x21
|
|
||||||
0x4 0x1 0x9 0x6 0xd 0x4 0x8
|
|
||||||
0xb 0xd 0xb
|
|
||||||
0x20 0x5 0x37 0x2f 0x31 0x12 0x39
|
|
||||||
0x9d 0x1df 0xb7 0xa4 0x1b8 0xfd 0x11 0x152 0x10 0x79 0x12f
|
|
||||||
0x1e 0x28 0x18 0x10 0x21 0x2c 0x32 0x17 0x1b
|
|
||||||
0x85 0xb6 0x25 0xcf 0x22 0x1a 0x41 0x82 0xf9
|
|
||||||
0xe 0xe 0x6 0x7 0x9 0x4
|
|
||||||
0xa1 0x92 0x2e 0x14 0x76 0x6b 0x50
|
|
||||||
0x56 0x6a 0x4b 0x38 0x41 0x5d 0x12 0x46 0x29
|
|
||||||
0x29 0x27 0x61 0xce 0x9e 0xc7 0xf1 0xe7 0x9
|
|
||||||
0x6 0x3 0x9 0x6 0xa 0x4 0x1
|
|
||||||
0x3b 0x71 0x4a 0x75 0xf 0x3d
|
|
||||||
0x33 0x2b 0xa 0x17 0x36 0xc 0x12
|
|
||||||
0xb 0x2b 0xb 0x1e 0x3b 0x26 0x15
|
|
||||||
0x10b 0xd0 0x12e 0x7a 0x1d7 0x2f9 0x377 0x101 0x2b2
|
|
||||||
0x9 0x7 0x6 0x9
|
|
||||||
0x33 0x1e 0x5 0x19 0x1b 0x31
|
|
||||||
0x287 0x16 0x354 0x242 0x3dc 0x3dd 0x2b0 0x21 0x56 0x3ad 0x1fd 0xa8
|
|
||||||
0x22 0x2f 0x30 0x3c 0x2d 0x12
|
|
||||||
0x168 0x208 0x3c 0x3f1 0x1fd 0x24 0x168 0xca 0x341 0x2f0 0x26d
|
|
||||||
0x33 0x57 0x1d 0x7c 0x33 0x4a
|
|
||||||
0xf 0x2 0x2f 0x78 0x7a 0x11 0x33 0x18
|
|
||||||
0x11 0x1a 0x3c 0x2c 0x16 0xc 0x17
|
|
||||||
0x78 0x73 0x12 0x7d 0x31 0x3f 0x2 0x4b 0x5e 0x55
|
|
||||||
0x2b 0xfd 0x11 0xd6 0xef 0x5d 0xf3 0xaf 0xf9 0x87 0x6
|
|
||||||
0xe 0xa 0xc 0xd 0x7 0x1 0x4
|
|
||||||
0x26 0x1d 0x5c 0x1f 0x6f 0x67 0x6 0x69 0x50
|
|
||||||
0x5 0x5 0xa 0xc 0x9
|
|
||||||
0x1b 0x11 0x4 0x1d 0x19 0xa 0x10 0x5
|
|
||||||
0x6 0x15 0x13 0x1d
|
|
||||||
0x1a 0x2 0x1d 0xd 0x15 0x17
|
|
||||||
0x1e 0x13 0x17 0xe 0x7
|
|
||||||
0x1d 0x1f 0x1d 0x6
|
|
||||||
0x26 0x2b 0x1 0x36 0x18 0x16 0x31
|
|
||||||
0xd9 0x173 0xd0 0xf0 0x1cd 0x1f1 0x1f0 0x5 0x8a 0x25 0x5a
|
|
||||||
0xe9 0x1fa 0x19b 0x16c 0xad 0x110 0x4c 0x14 0x111
|
|
||||||
0xf1 0x1d 0xe7 0xd3 0xbf 0x5 0x82 0x37 0xe0
|
|
||||||
0xda 0x90 0x3c 0xa1 0xea 0xc 0x5b
|
|
||||||
0xa 0x1b 0x37 0x2a 0x6 0x3d
|
|
||||||
0x375 0x205 0xff 0x70 0x1d9 0x304 0x88 0x3d9 0x1f7 0x73
|
|
||||||
0x1b9 0x94 0x88 0x4b 0x17d 0x60 0x16f 0x123 0x1d0
|
|
||||||
0x17 0x5 0x2a 0xa 0x17
|
|
||||||
0x34 0xdb 0xcf 0xfa 0xb4 0xef 0x77 0x8f
|
|
||||||
0x1c 0x1c 0x6e 0x50 0x3a 0x31 0x3e 0x22
|
|
||||||
0x3f 0x2e 0x2b 0x2d 0x3a 0x12
|
|
||||||
0xb 0x2 0x3 0xd 0x4
|
|
||||||
0x1c1 0x28 0x96 0x1b8 0x1b6 0x1aa 0x62 0xfd
|
|
||||||
0x29 0x298 0x3f9 0xb3 0x67 0x22 0x247 0x336 0x3db 0x128
|
|
||||||
0x4e 0x41 0xa 0x112 0x163 0x15d 0x34 0x1bb 0x4c 0x60 0x88 0xd0
|
|
||||||
0xa 0x7 0xa
|
|
||||||
0x2e 0x2 0x39 0x2e 0x28 0x2b 0x8
|
|
||||||
0x77 0x56 0x68 0x2e 0x6e 0x76 0x67 0x44 0x30 0x4f
|
|
||||||
0xd0 0x3b 0xe7 0xea 0xb1 0xdf 0x7e 0x6 0xd0 0xba
|
|
||||||
0x2a 0x1e 0x23 0xb 0x36 0x2a
|
|
||||||
0x7 0x1a 0x9 0xe
|
|
||||||
0x1a 0x3e 0x8 0x28 0x35 0x2f 0xd 0x1b
|
|
||||||
0x7d 0x5d 0x4e 0x21 0x54 0x75 0xb 0x6f 0x7a 0x76
|
|
||||||
0x1af 0x1af 0x1fb 0xe2 0x14e 0x11e 0xbf 0xfb
|
|
||||||
0x11 0x11 0x8 0x1b 0x5 0x4 0x15 0x10
|
|
||||||
0x1a 0x3e 0x4 0x37 0x1e
|
|
||||||
0x1bf 0x48 0x59 0x32d 0x3bd 0xc2 0x3f9 0x12d 0x13b 0x331 0x3d8 0x9e 0x272 0xc4
|
|
||||||
0xe 0x51 0x67 0x4f 0x5d 0x77
|
|
||||||
0xaa 0x3 0x92 0xaf 0xa 0xee 0x5c 0x75 0xb7
|
|
||||||
0x41 0x57 0x37 0xe8 0xc9 0xc3 0x4c
|
|
||||||
0xaf 0x82 0x8f 0xcf 0x3 0x48 0x21 0xad 0x6 0x11 0x60
|
|
||||||
0xd 0xe 0x6 0xb
|
|
||||||
0x14 0x34 0x33 0x13 0x23 0x3c 0x2b 0x28 0x2f
|
|
||||||
0x18b 0x55 0x1aa 0x70 0xe0 0x1d 0x1ba 0x9c 0xc3 0x1a9 0x9 0x10a
|
|
||||||
0x2b 0x20 0x9f 0x8f 0x74 0xfb 0xb4
|
|
||||||
0xf 0x9 0x5 0xa
|
|
||||||
0x1f 0x11 0x36 0x1d 0xe
|
|
||||||
0x13e 0x1dd 0x1f5 0x116 0x3f5 0x150 0x258 0x184 0x154 0x166 0x2f7
|
|
||||||
0xe 0x6 0xe 0xd
|
|
||||||
0xa 0xd 0xa
|
|
||||||
0x7b 0x16 0x8a 0x4 0xb8 0x96 0xe6 0x19 0xa8
|
|
||||||
0x53 0x23 0x3cb 0x280 0x3c2 0x188 0x1ab 0xd1 0x111 0x3b2 0x1ff
|
|
||||||
0x5 0x9 0x41 0x12 0x3d 0x10 0x44 0x2a 0x79
|
|
||||||
0x1b 0x1a 0x1e 0xf 0xe 0x13 0xb
|
|
||||||
0xb 0x5 0xb
|
|
||||||
0x29 0x34 0x3e 0x36 0x17 0x33 0x2f 0x31 0x2e
|
|
||||||
0x9 0x7b 0x4a 0x7a 0x40 0x6d 0x25 0x41 0x2c 0x30
|
|
||||||
0x18d 0x15e 0xfe 0x176 0x1df 0x164 0x18c 0x1b8 0x1e6 0x1a8
|
|
||||||
0x5 0x5 0xd 0x3
|
|
||||||
0x11 0x1e 0x23 0x4 0x20 0x39 0x28 0x11
|
|
||||||
0x34b 0x201 0x3f9 0x3a9 0x20c 0x32e 0x64 0x37e 0x33d 0x2ee 0x390
|
|
||||||
0x50 0x53 0x9 0x71 0x76 0xb 0x2f 0x6a
|
|
||||||
0x17 0x6 0x5 0x1c 0x11
|
|
||||||
0x23 0x2d 0x20 0x32 0xd 0xc 0x34 0x33 0xe
|
|
||||||
0x1b 0x3e 0x18 0x1d 0x21 0x9 0x3c 0x1b 0x2a
|
|
||||||
0x116 0xd0 0x4d 0x163 0x1e9 0x122 0x173 0x1a3 0xc 0x177 0x7f 0x101
|
|
||||||
0xc 0xa 0x4 0x7 0x1 0xc 0x8
|
|
||||||
0x97 0x2fb 0x71 0x3a0 0x2ae 0x3fb 0x2f0 0x367 0xa1
|
|
||||||
0x190 0x16c 0x1cd 0xd0 0x1e7 0x1fe 0x18d 0xef 0x82 0x1f4
|
|
||||||
0x2 0xdd 0x22 0xa0 0x79 0xe9 0x8d 0x3e 0x9 0x60 0x50
|
|
||||||
0x3a 0x18 0x151 0x26 0x1c6 0x1f9 0x111 0xa5 0x4 0x131 0x24 0x1ba
|
|
||||||
0x9 0x9 0x1e 0xb 0x34 0x11 0xf
|
|
||||||
0xd0 0xa5 0xb1 0x70 0x90 0x66 0xf 0x2f 0x83 0x7e
|
|
||||||
0x17 0x89 0xcf 0xf5 0x10 0x68 0xd1 0x3d
|
|
||||||
0x9 0x5 0x16 0x9 0x17 0x7
|
|
||||||
0x50 0xf7 0x6f 0x76 0x14 0x50 0x1c7 0x13d
|
|
||||||
0x145 0x13d 0x48 0x30d 0x3dc 0x17e 0x238 0x229 0x283 0x1f7 0x2cb 0x101 0x27c 0x317
|
|
||||||
0xea 0x7f 0x82 0x124 0x122 0x155 0x77 0xc8 0x5e 0xdf
|
|
||||||
0xb4 0x7 0xde 0xd5 0x2e 0xf5 0x64 0xee 0xfc
|
|
||||||
0x7f 0x91 0x4c 0x4 0x1f5 0x2 0xcf 0xf7 0x84 0x17f 0x3 0x103
|
|
||||||
0x39 0x33 0x11 0x1e 0x18 0x3e 0x28 0x39 0xc
|
|
||||||
0xd4 0x1ee 0xe3 0x144 0x10a 0xd4 0x87 0x1f8
|
|
||||||
0x3ba 0x33f 0x2f2 0x1eb 0x3d4 0x257 0x23f 0x37a 0x106 0x29b
|
|
||||||
0xd 0x5 0xe 0xa 0x3 0x6
|
|
||||||
0x33 0x33 0x1e 0x1a 0x3 0x31
|
|
||||||
0xf 0xd 0x13 0x19 0x11
|
|
||||||
0x1f 0x84 0xe 0x93 0x2a 0x218 0x3fa 0x30a 0x3fc 0x1f6 0xb6 0x3bb
|
|
||||||
0x6 0x4 0x1 0x2 0x14 0x8
|
|
||||||
0x1 0x3 0xa 0x6 0x4 0x5
|
|
||||||
0xcb 0x3fa 0x17f 0x16a 0x228 0x1ca 0x3d7 0x1 0x267 0x367 0x220 0x3f6 0x2d9
|
|
||||||
0xc1 0xdd 0x15a 0x31 0xdf 0x3f 0x90 0x17d 0xfd 0x1be 0x7a
|
|
||||||
0x1f9 0x1ea 0x1f9 0x7f 0x1f1 0x45 0x9a 0x43 0xa4 0x13d
|
|
||||||
0x32 0x1f 0x73 0x42 0x63 0x36 0x5b 0x6b 0x5f
|
|
||||||
0x26 0xd 0x15 0x2b 0x26 0xa
|
|
||||||
0x15 0x23 0xe 0x20 0x18 0x2d 0x15 0x2
|
|
||||||
0xb 0xe 0xa 0x2 0x6 0x9
|
|
||||||
0x3a1 0x2db 0x3f2 0x10a 0x2bc 0x3ee 0x2bd 0x44 0x162 0x3f6
|
|
||||||
0x1ba 0x79 0x183 0x10e 0x80 0x1f9 0x30 0x84 0xdf
|
|
||||||
0x163 0x3d8 0x326 0x142 0x337 0x135 0x129 0x110 0x2ae 0x25b 0xff 0x3c7
|
|
||||||
0x14a 0x166 0x52 0x140 0xef 0x1f7 0xe4 0x125 0x16 0x19
|
|
||||||
0xa1 0x2c 0x18 0xf7 0xfd 0x48 0xea 0x32
|
|
||||||
0x1e5 0x1be 0x50 0x28 0xc1 0x10c 0x24 0x90
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
import sys
|
|
||||||
for line in sys.stdin:
|
|
||||||
p = line.split()
|
|
||||||
state = p[0].strip("[]")
|
|
||||||
costs = p[-1]
|
|
||||||
|
|
||||||
n = len(state)
|
|
||||||
state = int(state.replace("#","1").replace(".","0"), 2)
|
|
||||||
buttons = []
|
|
||||||
for x in p[1:-1]:
|
|
||||||
val = 0
|
|
||||||
for i in x.strip('()').split(','):
|
|
||||||
val |= 2**(n-int(i)-1)
|
|
||||||
buttons.append(val)
|
|
||||||
print(*map(hex, [state]+buttons))
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
[.##.] (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}
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
0x6 0x1 0x5 0x2 0x3 0xa 0xc
|
|
||||||
0x2 0x17 0x6 0x11 0x1c 0xf
|
|
||||||
0x1d 0x3e 0x26 0x3b 0x18
|
|
||||||
110
day10/sol.go
110
day10/sol.go
@ -1,110 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"container/heap"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func die(err error) {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func check(err error) {
|
|
||||||
if err != nil {
|
|
||||||
die(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
solve("sample")
|
|
||||||
solve("input")
|
|
||||||
}
|
|
||||||
|
|
||||||
func solve(filename string) {
|
|
||||||
input, err := os.Open(filename + ".x")
|
|
||||||
check(err)
|
|
||||||
|
|
||||||
scanner := bufio.NewScanner(input)
|
|
||||||
scanner.Split(bufio.ScanLines)
|
|
||||||
total := 0
|
|
||||||
for scanner.Scan() {
|
|
||||||
line := scanner.Text()
|
|
||||||
parts := strings.Fields(line)
|
|
||||||
var nums []uint32
|
|
||||||
for _, p := range parts {
|
|
||||||
var x uint32
|
|
||||||
fmt.Sscanf(p, "0x%x", &x)
|
|
||||||
nums = append(nums, x)
|
|
||||||
}
|
|
||||||
//fmt.Printf("%b %v\n", nums, parts)
|
|
||||||
n := best(nums[0], nums[1:])
|
|
||||||
fmt.Printf("%b %v\n", nums, n)
|
|
||||||
total += n
|
|
||||||
//fmt.Println(n)
|
|
||||||
}
|
|
||||||
check(scanner.Err())
|
|
||||||
fmt.Println(total)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// An CostHeap is a min-heap of ints.
|
|
||||||
type CostHeap struct {
|
|
||||||
heap []uint32
|
|
||||||
cost map[uint32]int
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *CostHeap) Len() int { return len(h.heap) }
|
|
||||||
func (h *CostHeap) Less(i, j int) bool { return h.cost[h.heap[i]] < h.cost[h.heap[j]] }
|
|
||||||
func (h *CostHeap) Swap(i, j int) { h.heap[i], h.heap[j] = h.heap[j], h.heap[i] }
|
|
||||||
|
|
||||||
func (h *CostHeap) Push(x any) {
|
|
||||||
// Push and Pop use pointer receivers because they modify the slice's length,
|
|
||||||
// not just its contents.
|
|
||||||
h.heap = append(h.heap, x.(uint32))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *CostHeap) Pop() any {
|
|
||||||
old := h.heap
|
|
||||||
n := len(old)
|
|
||||||
x := old[n-1]
|
|
||||||
h.heap = old[0 : n-1]
|
|
||||||
return x
|
|
||||||
}
|
|
||||||
|
|
||||||
func best(target uint32, pool []uint32) int {
|
|
||||||
//var states = []uint32{}
|
|
||||||
var cost = make(map[uint32]int)
|
|
||||||
h := &CostHeap{nil, cost}
|
|
||||||
heap.Push(h, uint32(0))
|
|
||||||
for h.Len() > 0 {
|
|
||||||
s := heap.Pop(h).(uint32)
|
|
||||||
if s == target {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
// enumerate all the states that can be reached by toggling button p
|
|
||||||
for _, p := range pool {
|
|
||||||
t := s ^ p
|
|
||||||
if cost_t, ok := cost[t]; ok {
|
|
||||||
if cost[s]+1 < cost_t {
|
|
||||||
cost[t] = cost[s] + 1
|
|
||||||
for i, x := range h.heap {
|
|
||||||
if x == t {
|
|
||||||
heap.Fix(h, i)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
cost[t] = cost[s] + 1
|
|
||||||
//states = append(states, t)
|
|
||||||
heap.Push(h, t)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return cost[target]
|
|
||||||
}
|
|
||||||
153
day10/sol2.go
153
day10/sol2.go
@ -1,153 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func die(err error) {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func check(err error) {
|
|
||||||
if err != nil {
|
|
||||||
die(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
solve("sample")
|
|
||||||
solve("input")
|
|
||||||
}
|
|
||||||
|
|
||||||
func solve(filename string) {
|
|
||||||
input, err := os.Open(filename)
|
|
||||||
check(err)
|
|
||||||
|
|
||||||
scanner := bufio.NewScanner(input)
|
|
||||||
scanner.Split(bufio.ScanLines)
|
|
||||||
total := 0
|
|
||||||
for scanner.Scan() {
|
|
||||||
line := scanner.Text()
|
|
||||||
parts := strings.Fields(line)
|
|
||||||
parts = parts[1:]
|
|
||||||
var jolts []Jolts
|
|
||||||
for _, p := range parts {
|
|
||||||
j, err := parseJolt(p)
|
|
||||||
check(err)
|
|
||||||
jolts = append(jolts, j)
|
|
||||||
}
|
|
||||||
fmt.Printf("%v %v\n", jolts, parts)
|
|
||||||
n := best(jolts[len(jolts)-1], jolts[:len(jolts)-1])
|
|
||||||
fmt.Printf("%s = %v\n", line, n)
|
|
||||||
total += n
|
|
||||||
//fmt.Println(n)
|
|
||||||
}
|
|
||||||
check(scanner.Err())
|
|
||||||
fmt.Println(total)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
type Jolts [10]int16
|
|
||||||
|
|
||||||
func parseJolt(s string) (Jolts, error) {
|
|
||||||
if s[0] == '(' {
|
|
||||||
return parseJoltByIndex(s)
|
|
||||||
} else if s[0] == '{' {
|
|
||||||
return parseJoltByValue(s)
|
|
||||||
}
|
|
||||||
return Jolts{}, fmt.Errorf("invalid jolts: %q", s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseJoltByIndex(s string) (Jolts, error) {
|
|
||||||
var j Jolts
|
|
||||||
s = strings.Trim(s, "()")
|
|
||||||
for _, part := range strings.Split(s, ",") {
|
|
||||||
idx, err := strconv.ParseInt(part, 10, 16)
|
|
||||||
if err != nil {
|
|
||||||
return j, err
|
|
||||||
}
|
|
||||||
j[idx] = 1
|
|
||||||
}
|
|
||||||
return j, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseJoltByValue(s string) (Jolts, error) {
|
|
||||||
var j Jolts
|
|
||||||
s = strings.Trim(s, "{}")
|
|
||||||
for i, part := range strings.Split(s, ",") {
|
|
||||||
val, err := strconv.ParseInt(part, 10, 16)
|
|
||||||
if err != nil {
|
|
||||||
return j, err
|
|
||||||
}
|
|
||||||
j[i] = int16(val)
|
|
||||||
}
|
|
||||||
return j, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// An CostHeap is a min-heap of ints.
|
|
||||||
type CostHeap struct {
|
|
||||||
heap []Jolts
|
|
||||||
cost map[Jolts]int
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *CostHeap) Len() int { return len(h.heap) }
|
|
||||||
func (h *CostHeap) Less(i, j int) bool { return h.cost[h.heap[i]] < h.cost[h.heap[j]] }
|
|
||||||
func (h *CostHeap) Swap(i, j int) { h.heap[i], h.heap[j] = h.heap[j], h.heap[i] }
|
|
||||||
|
|
||||||
func (h *CostHeap) Push(x any) {
|
|
||||||
// Push and Pop use pointer receivers because they modify the slice's length,
|
|
||||||
// not just its contents.
|
|
||||||
h.heap = append(h.heap, x.(Jolts))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *CostHeap) Pop() any {
|
|
||||||
old := h.heap
|
|
||||||
n := len(old)
|
|
||||||
x := old[n-1]
|
|
||||||
h.heap = old[0 : n-1]
|
|
||||||
return x
|
|
||||||
}
|
|
||||||
|
|
||||||
// it doesn't matter what order we push the buttons in --
|
|
||||||
// only how many times we push each one.
|
|
||||||
|
|
||||||
func best(target Jolts, pool []Jolts) int {
|
|
||||||
var cost = make(map[Jolts]int)
|
|
||||||
var states []Jolts
|
|
||||||
states = append(states, Jolts{})
|
|
||||||
cost[Jolts{}] = 0
|
|
||||||
for pi, p := range pool {
|
|
||||||
// enumerate all the states that can be reached by toggling button p
|
|
||||||
queue := states
|
|
||||||
fmt.Print(pi, len(states), len(queue))
|
|
||||||
for _, s := range queue {
|
|
||||||
here:
|
|
||||||
for t, c := s, cost[s]; ; {
|
|
||||||
for i, v := range p {
|
|
||||||
t[i] += v
|
|
||||||
if t[i] > target[i] {
|
|
||||||
// blown target, cut path
|
|
||||||
break here
|
|
||||||
}
|
|
||||||
}
|
|
||||||
c += 1
|
|
||||||
|
|
||||||
if cost_t, ok := cost[t]; ok {
|
|
||||||
if c < cost_t {
|
|
||||||
cost[t] = c
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
cost[t] = c
|
|
||||||
states = append(states, t)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return cost[target]
|
|
||||||
}
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
import sympy
|
|
||||||
import itertools
|
|
||||||
def solve(input):
|
|
||||||
part2 = 0
|
|
||||||
for line in open(input):
|
|
||||||
parts = line.split()[1:]
|
|
||||||
idxs = [delist(p) for p in parts[:-1]]
|
|
||||||
target = delist(parts[-1])
|
|
||||||
|
|
||||||
BTNS = len(idxs)
|
|
||||||
N = len(target)
|
|
||||||
matrix = [[int(i in row) for i in range(N)] for row in idxs]
|
|
||||||
|
|
||||||
#print(matrix, target)
|
|
||||||
M = sympy.Matrix(matrix + [target]).T
|
|
||||||
#print(repr(M))
|
|
||||||
S, pivots = M.rref()
|
|
||||||
if len(pivots) < BTNS:
|
|
||||||
# not solved
|
|
||||||
print(repr(S))
|
|
||||||
coords = []
|
|
||||||
limits = []
|
|
||||||
extra_rows = []
|
|
||||||
for p in range(BTNS):
|
|
||||||
if p not in pivots:
|
|
||||||
print(p, M.col(p))
|
|
||||||
row = [0]*(BTNS+1)
|
|
||||||
row[p] = 1
|
|
||||||
coords.append((M.rows, M.cols-1))
|
|
||||||
extra_rows.append(row)
|
|
||||||
limit = min(target[i] for i,x in enumerate(M.col(p)) if x)
|
|
||||||
limits.append(limit)
|
|
||||||
M = M.col_join(sympy.Matrix(extra_rows))
|
|
||||||
print(repr(M), limits)
|
|
||||||
totals = []
|
|
||||||
for values in itertools.product(*[range(l+1) for l in limits]):
|
|
||||||
for c,v in zip(coords,values):
|
|
||||||
M[c] = v
|
|
||||||
S, newpivot = M.rref()
|
|
||||||
presses = S.col(-1)
|
|
||||||
if all(int(x) >= 0 for x in presses):
|
|
||||||
print(presses.T, flush=True)
|
|
||||||
totals.append(sum(S.col(-1)))
|
|
||||||
if totals:
|
|
||||||
print("*", target, totals, min(totals))
|
|
||||||
part2 += min(totals)
|
|
||||||
else:
|
|
||||||
print("uhoh", target)
|
|
||||||
else:
|
|
||||||
presses = S.col(-1)
|
|
||||||
print("*", target, presses.T, sum(presses))
|
|
||||||
part2 += sum(presses)
|
|
||||||
print(part2)
|
|
||||||
#print(less, greater)
|
|
||||||
|
|
||||||
def delist(s):
|
|
||||||
return [int(x) for x in s.strip("{}()").split(',')]
|
|
||||||
|
|
||||||
#solve("sample")
|
|
||||||
solve("input")
|
|
||||||
602
day11/input
602
day11/input
@ -1,602 +0,0 @@
|
|||||||
ojt: rum xgy guf mqs
|
|
||||||
srg: mqo ufz
|
|
||||||
lwb: sxb wsf
|
|
||||||
pkk: ium
|
|
||||||
evd: els stn oln
|
|
||||||
ukv: ocs vxd tfl
|
|
||||||
fyk: ikm fox nok
|
|
||||||
bfd: evd kjy smb
|
|
||||||
wqy: srg tgk
|
|
||||||
mix: cmj ufz mqo
|
|
||||||
rew: avm nrs vot mqv
|
|
||||||
tri: hex zvw yuq jeo
|
|
||||||
lbo: dgt ica yws pkk qwp
|
|
||||||
fcn: smr
|
|
||||||
msw: ssg qtf aem
|
|
||||||
zwf: zvl qfe
|
|
||||||
epg: xax pzu
|
|
||||||
mmw: dhg
|
|
||||||
hbd: cji vrr ysi bfd
|
|
||||||
czn: wld cgm gqw tbz
|
|
||||||
qdh: tvc
|
|
||||||
dwh: hux lkt lad
|
|
||||||
ayq: bzr van
|
|
||||||
lor: xrf jwh
|
|
||||||
gkc: pwk hgf cdw
|
|
||||||
jxm: ehg xet fqn
|
|
||||||
qft: qnl evl
|
|
||||||
pek: cvj flu
|
|
||||||
rmo: rxx hbd
|
|
||||||
nwe: out
|
|
||||||
liy: tcc rjb pda
|
|
||||||
xft: azu upo itg
|
|
||||||
ojy: cfp
|
|
||||||
nuq: cvj asi ufb flu
|
|
||||||
ogq: oov dtc ppz
|
|
||||||
rjb: cmj ufz mqo you
|
|
||||||
rdz: cvj ozn ufb asi flu
|
|
||||||
qoa: dgt yws pkk qwp
|
|
||||||
mbw: lik rmf nqr
|
|
||||||
yes: ccc
|
|
||||||
uit: ysj ngh rew
|
|
||||||
hfa: sum clx
|
|
||||||
jqd: ozn flu cvj
|
|
||||||
xfi: dyo zqy
|
|
||||||
lym: kht
|
|
||||||
sqm: rdc oao
|
|
||||||
jmw: nzq
|
|
||||||
sgq: bju lzc bwx
|
|
||||||
xjr: lcx kpp mvl fto
|
|
||||||
tdg: vds kuh
|
|
||||||
aww: der lwb ijy rjq mof obb fmi unx eqn vyj skb wqa aer tas stx vpf oas fzq gfy pua
|
|
||||||
rmb: euk xic
|
|
||||||
hwg: fto xmd kpp lcx
|
|
||||||
nce: mmd sum clx
|
|
||||||
ult: ufb ozn
|
|
||||||
fbj: lcx xmd fto mvl
|
|
||||||
tgk: you mqo cmj
|
|
||||||
ppz: nqr
|
|
||||||
vty: ppz lok mbw dtc oov
|
|
||||||
eit: xvj ccc
|
|
||||||
dtc: xvf nqr lik rmf
|
|
||||||
qso: out
|
|
||||||
tcc: ufz you
|
|
||||||
gwp: xur pto ayw rmb
|
|
||||||
ibm: bwe fuv zkc
|
|
||||||
onk: ibe gdf
|
|
||||||
jax: qnl evl nzq
|
|
||||||
vct: ozn flu asi ufb cvj
|
|
||||||
bju: sfu azu itg
|
|
||||||
amz: you mqo ufz
|
|
||||||
ozn: rqf jzc onk qoa jzs lbk tog fhz vkr hty pnw tej hmv erl mcm msw qky umv
|
|
||||||
eux: kuc xpq gxc
|
|
||||||
vmi: mqo you cmj
|
|
||||||
lft: sum clx fbs
|
|
||||||
lgv: ufz mqo
|
|
||||||
quc: npv
|
|
||||||
bzr: leu ehk
|
|
||||||
bwx: sfu upo azu
|
|
||||||
cnk: mmd fbs
|
|
||||||
xpq: qyh
|
|
||||||
zon: bwe npv zkc
|
|
||||||
pqe: mqo ufz you
|
|
||||||
rks: tje isv
|
|
||||||
hmv: gdf
|
|
||||||
evl: tbt ftw lco
|
|
||||||
vux: rxx zbg
|
|
||||||
yoa: trv
|
|
||||||
tpq: cvj
|
|
||||||
jws: tpq lyi jqd nuq rdz
|
|
||||||
qzs: clx fbs mmd
|
|
||||||
vds: amz pid xax
|
|
||||||
xfg: fof
|
|
||||||
xak: xjo gwd rcb wzr
|
|
||||||
erl: aem vux ssg qtf rmo
|
|
||||||
tzu: out
|
|
||||||
oht: xmd fto mvl kpp
|
|
||||||
ogz: ojy gdf
|
|
||||||
yly: czn fjq
|
|
||||||
nrs: you ufz mqo
|
|
||||||
rna: mvl
|
|
||||||
ins: fbs gyg sum
|
|
||||||
vwu: ilb wqy bud bba
|
|
||||||
nxi: npt kht
|
|
||||||
gfx: hfd sia
|
|
||||||
itg: cvj ufb asi ozn
|
|
||||||
nxy: fto xmd
|
|
||||||
zcq: yoa wvx
|
|
||||||
jok: rna msk sna
|
|
||||||
vqb: tdg shp gru
|
|
||||||
vep: ocg bvi znu
|
|
||||||
tqa: ame pfb eux
|
|
||||||
eer: out
|
|
||||||
lna: blf uph bzr
|
|
||||||
dyo: ypx kth wcn
|
|
||||||
ejr: vct tpt joe
|
|
||||||
vpk: jer fmw erg hwg
|
|
||||||
lkt: yrk
|
|
||||||
bok: xet
|
|
||||||
anx: tpt joe atl vct
|
|
||||||
yrk: mqs guf
|
|
||||||
vpd: zle tdg gru shp
|
|
||||||
htv: auw oyn pek ikf
|
|
||||||
icv: fto xmd lcx
|
|
||||||
wfb: you cmj
|
|
||||||
lrx: xet fqn tzu
|
|
||||||
wjh: clx gyg sum fbs
|
|
||||||
xet: out
|
|
||||||
hgf: fto
|
|
||||||
tvc: smr tyc irq
|
|
||||||
gra: cdw hgf rqb
|
|
||||||
brr: xft mbe
|
|
||||||
fui: cgm wld ahr gqw
|
|
||||||
kht: bqw fmu
|
|
||||||
asi: rqf jzc hmv pnw vkr umv jzs jtv erl msw
|
|
||||||
dxr: rjk rgc gfg
|
|
||||||
xic: nys xak xxh
|
|
||||||
smr: cmj you ufz mqo
|
|
||||||
bvi: xjr bgh igy oht bzh
|
|
||||||
fkj: bqr pto rmb
|
|
||||||
nnm: fbs gyg
|
|
||||||
zih: tzu fqn ehg xet
|
|
||||||
npb: thy zao
|
|
||||||
bhz: you
|
|
||||||
eny: lor
|
|
||||||
fqn: out
|
|
||||||
sna: lcx kpp xmd mvl fto
|
|
||||||
azu: ozn asi flu
|
|
||||||
ilh: acj vdg zpt zcq qwn qft aic fay fjj ycs wdh cyp ymi gfx tjs fug jmw abi nih
|
|
||||||
lad: ojt tqj yrk
|
|
||||||
abh: ikm nmg
|
|
||||||
mof: dxr yal
|
|
||||||
xtl: jar wsf
|
|
||||||
aem: rxx hbd qdy
|
|
||||||
clx: veu yes fej yfb zdm vwu vpd tcj imw bfo sak fpe vqb lwp apx uit ysq jsl tyr ahw wec rzx
|
|
||||||
leu: xjj tji qzs
|
|
||||||
zww: isz sgq brr
|
|
||||||
jvq: htl iao uix
|
|
||||||
cbk: nuq rdz lyi
|
|
||||||
qfe: out
|
|
||||||
bei: xxh nys
|
|
||||||
qsk: you ufz cmj
|
|
||||||
lik: jgk wce nwe
|
|
||||||
hfd: qnr ult
|
|
||||||
bqr: euk xic
|
|
||||||
fxy: nxi iyn
|
|
||||||
wvb: fof dzk
|
|
||||||
ill: weg vpk yqv toh
|
|
||||||
srl: gfg
|
|
||||||
svr: xzk ilh xkb gtf ebx
|
|
||||||
kko: eph czn fui
|
|
||||||
fay: wya wvx
|
|
||||||
ikm: qie
|
|
||||||
sju: lrx
|
|
||||||
lbk: gdf
|
|
||||||
fjg: hfn ibm
|
|
||||||
vso: jwh scd ins xrf
|
|
||||||
vsi: jxm zih
|
|
||||||
iao: lcx xmd mvl
|
|
||||||
ley: out
|
|
||||||
apx: ysj
|
|
||||||
pnw: hak hvg fft
|
|
||||||
fej: ngh ysj
|
|
||||||
xkz: wjb vso xxn aty
|
|
||||||
lok: rmf nqr xvf
|
|
||||||
tjs: nzq
|
|
||||||
gdf: yck eqp
|
|
||||||
ubl: gru shp
|
|
||||||
xdh: anb dzk fof
|
|
||||||
afd: teg
|
|
||||||
rbe: out
|
|
||||||
vdg: nzq evl
|
|
||||||
ejz: dgg
|
|
||||||
hux: ojt tqj bgr
|
|
||||||
xxn: scd
|
|
||||||
bgh: lcx kpp xmd mvl
|
|
||||||
wld: dep cnk nnm hfa
|
|
||||||
xgj: fxy ups tjo
|
|
||||||
guy: zgs qdh mmw oif
|
|
||||||
ocs: wjh nce lft
|
|
||||||
vot: mqo
|
|
||||||
kav: cny gjt aps
|
|
||||||
oov: rmf nqr
|
|
||||||
jwh: mmd fbs clx gyg
|
|
||||||
hfn: bwe fuv
|
|
||||||
cac: ocs dci
|
|
||||||
xjo: niz qso
|
|
||||||
yta: van
|
|
||||||
zpt: kfx mam cwc
|
|
||||||
ame: kuc lkx gxc
|
|
||||||
hvg: qxn
|
|
||||||
vdq: out
|
|
||||||
yal: rgc gfg
|
|
||||||
ssg: rxx
|
|
||||||
qbe: dhh oas vpf tas skb eqn unx xtl rjq ijy lwb blk der
|
|
||||||
joe: flu
|
|
||||||
ccc: dac liy lqv
|
|
||||||
pua: dxr sru
|
|
||||||
oas: nfc
|
|
||||||
lbv: ibm hfn quc zon vtx
|
|
||||||
wqa: tje zkz
|
|
||||||
oif: dhg
|
|
||||||
pnh: fui
|
|
||||||
mzt: ubm ame pfb oia
|
|
||||||
tbt: cvj ozn flu ufb asi
|
|
||||||
jtv: ojy ibe
|
|
||||||
izw: xix lvg
|
|
||||||
avm: cmj ufz mqo
|
|
||||||
gjt: paa
|
|
||||||
txn: guy
|
|
||||||
van: teg
|
|
||||||
vkn: mvl
|
|
||||||
qie: ibm hfn zon quc vtx
|
|
||||||
hsz: npt lwt
|
|
||||||
ayy: yuq jeo zvw
|
|
||||||
igy: fto xmd
|
|
||||||
ptz: vep rdc mhx
|
|
||||||
wqi: sgq
|
|
||||||
tjo: hsz sfy lym
|
|
||||||
epd: oln qbe els
|
|
||||||
tna: els stn aww
|
|
||||||
mhx: ocg cwu bvi
|
|
||||||
bfo: kvy
|
|
||||||
jsl: eqd wzw
|
|
||||||
hak: rms tna
|
|
||||||
akf: kpp mvl
|
|
||||||
sfu: ozn ufb asi
|
|
||||||
erg: lcx kpp xmd mvl
|
|
||||||
jar: uht gra
|
|
||||||
rum: els stn
|
|
||||||
anb: prd
|
|
||||||
tyr: guy
|
|
||||||
stn: vpf gfy ijy mof der skb rks obb xtl fmi unx
|
|
||||||
ayw: bei
|
|
||||||
mqo: kav thd alq qcs ckk fyk ojj mzt abh tqa
|
|
||||||
tje: akf icv
|
|
||||||
lzc: sfu azu
|
|
||||||
gtf: jmw fay jax val qwn zcq zpt mnc cyp wdh rkh
|
|
||||||
yck: stn els aww
|
|
||||||
kgq: wjb vso lor aty
|
|
||||||
fmu: sum clx gyg mmd
|
|
||||||
ubm: lkx
|
|
||||||
sia: gcn
|
|
||||||
huh: ntp vsi
|
|
||||||
jzc: ssg vux aem
|
|
||||||
yfb: bud
|
|
||||||
nih: mam
|
|
||||||
fto: xgj byk yta xkz pnh lna
|
|
||||||
zvl: out
|
|
||||||
qwn: hfd sia
|
|
||||||
dzk: qfe prd
|
|
||||||
jxj: eqd mzb
|
|
||||||
tas: sqm dgg ptz
|
|
||||||
rfz: ufz mqo cmj
|
|
||||||
ecn: rna sna oks
|
|
||||||
aer: yal srl
|
|
||||||
vpf: jar
|
|
||||||
ups: hsz sfy lym
|
|
||||||
bqw: sum clx fbs mmd
|
|
||||||
cdw: mvl xmd lcx
|
|
||||||
veu: wzw
|
|
||||||
ikh: brr
|
|
||||||
fzq: wsq dxr
|
|
||||||
irq: cmj
|
|
||||||
rmf: jgk nwe ykg wce mdv
|
|
||||||
dhe: zao
|
|
||||||
npv: gxk ezs
|
|
||||||
ehg: out
|
|
||||||
aiy: xur bqr rmb ayw
|
|
||||||
els: mof lwb rjq der ejz rks skb unx xtl fmi stx vpf tas aer dhh pua fzq gfy
|
|
||||||
nys: xjo wzr rcb
|
|
||||||
bba: nkp
|
|
||||||
mxd: anb zwf fof
|
|
||||||
gru: vds epg
|
|
||||||
ppa: fbs gyg
|
|
||||||
lwt: fmu hrc bqw
|
|
||||||
gqw: dep hfa
|
|
||||||
pwk: xmd kpp lcx
|
|
||||||
lwp: ilb
|
|
||||||
zvw: vty nbi ogq
|
|
||||||
guf: stn oln els aww
|
|
||||||
ocv: kzf huh
|
|
||||||
wsf: gkc uht
|
|
||||||
buy: vhu qdh oif
|
|
||||||
xvf: mdv wce nwe jgk
|
|
||||||
blf: leu ehk
|
|
||||||
zgs: tvc dhg fcn
|
|
||||||
fhd: aty vso xxn
|
|
||||||
fmi: dhe npb avc mvk bxo
|
|
||||||
fox: lbv fjg
|
|
||||||
iqo: msk ocd oks
|
|
||||||
ufb: fhz erl lbk ogz umv vkr pnw qoa onk tej rqf jzc hmv
|
|
||||||
sru: gfg
|
|
||||||
rcb: rbe
|
|
||||||
teg: tji keq ppa
|
|
||||||
ikf: ufb asi flu
|
|
||||||
bxo: thy nvf
|
|
||||||
weg: fmw
|
|
||||||
lkx: xfi
|
|
||||||
qky: xxs dwh wat
|
|
||||||
zqy: eer ypx
|
|
||||||
ckk: ocv gga xpa
|
|
||||||
qnl: ftw lco
|
|
||||||
tcj: hcg
|
|
||||||
rxx: dyl cji
|
|
||||||
sps: mqo
|
|
||||||
snz: fox nmg ikm
|
|
||||||
upo: asi ozn
|
|
||||||
kuc: qyh wot
|
|
||||||
znu: igy
|
|
||||||
niz: out
|
|
||||||
ocd: mvl fto xmd
|
|
||||||
zle: vds epg kuh
|
|
||||||
gga: spp kzf
|
|
||||||
tbz: gyk dep cnk hfa
|
|
||||||
zkc: ley
|
|
||||||
cqr: xfg mxd
|
|
||||||
ezs: out
|
|
||||||
cwc: cbk
|
|
||||||
nbi: ppz lok oov
|
|
||||||
wce: out
|
|
||||||
ntp: lrx bok
|
|
||||||
vyj: dgg ptz
|
|
||||||
atl: ozn
|
|
||||||
uph: leu ehk teg
|
|
||||||
mcm: rmo aem
|
|
||||||
skb: mvk
|
|
||||||
pzu: you
|
|
||||||
dgt: ium ykj
|
|
||||||
oyn: asi flu ufb
|
|
||||||
jeo: vty nbi
|
|
||||||
ehk: tji qzs keq ppa
|
|
||||||
ysj: nrs avm vot
|
|
||||||
pxi: stn oln
|
|
||||||
gxc: yed qyh wot
|
|
||||||
cwu: xjr igy oht
|
|
||||||
qez: ayw pto xur bqr
|
|
||||||
jgp: asi cvj
|
|
||||||
dep: clx gyg sum
|
|
||||||
ahw: bba bud ilb wqy
|
|
||||||
keq: clx gyg
|
|
||||||
tyc: ufz
|
|
||||||
wjb: scd
|
|
||||||
bns: kfx mam vjd
|
|
||||||
zkz: fbj icv
|
|
||||||
eph: tbz
|
|
||||||
xmd: fhd bwh cac pnh gmc izt kgq ayq yta xkz kko yly
|
|
||||||
ica: jzl ykj
|
|
||||||
asz: blf
|
|
||||||
oln: ijy lwb mof obb unx vyj ejz wqa aer tas vpf fzq gfy pua
|
|
||||||
iyn: kht lwt
|
|
||||||
alq: eux oia ubm
|
|
||||||
shp: epg
|
|
||||||
fft: rms qxn tna
|
|
||||||
ijy: jvq mms nfc
|
|
||||||
rjk: ecn
|
|
||||||
euz: anb dzk
|
|
||||||
euk: xak
|
|
||||||
fof: zvl
|
|
||||||
obb: isv tje
|
|
||||||
wot: zqy
|
|
||||||
eqn: mms nfc
|
|
||||||
yed: uef dyo
|
|
||||||
mnc: zqk lgu izw asb
|
|
||||||
tej: yws dgt ica
|
|
||||||
mrh: gyg mmd fbs
|
|
||||||
bgr: mqs epd
|
|
||||||
mvk: zao ill
|
|
||||||
gyk: fbs gyg
|
|
||||||
ebx: qft jax fjj fay rkh acj vdg zpt mnc zcq qwn val gfx fug jmw abi nih ycs wdh cyp ymi
|
|
||||||
wya: fio anx
|
|
||||||
qcs: bqr ayw
|
|
||||||
kth: out
|
|
||||||
kfx: jws yoz cbk
|
|
||||||
nqr: nwe ykg wce jgk
|
|
||||||
dci: ufh nce mrh
|
|
||||||
kjy: qbe els stn aww
|
|
||||||
xrb: cny aps
|
|
||||||
trv: vct atl joe
|
|
||||||
paa: wvb euz
|
|
||||||
zdm: ngh rew qnk
|
|
||||||
qnr: asi
|
|
||||||
ddh: gcn ult
|
|
||||||
wvx: anx ejr trv
|
|
||||||
vih: lrx jxm bok
|
|
||||||
xvj: lqv liy
|
|
||||||
xax: cmj you mqo
|
|
||||||
wzw: wfb mix rfz sps
|
|
||||||
mbe: azu upo itg
|
|
||||||
rdc: ocg
|
|
||||||
thy: weg toh
|
|
||||||
ibe: yck pxi cfp
|
|
||||||
eqd: sps wfb mix rfz qsk
|
|
||||||
qtf: zbg rxx hbd qdy
|
|
||||||
ymi: xer
|
|
||||||
lgu: kop xix lvg
|
|
||||||
xxs: hux tth
|
|
||||||
blk: wsf sxb
|
|
||||||
fbs: rzx uit wec vwu veu sak fpe apx
|
|
||||||
toh: jer hwg fmw
|
|
||||||
xkb: zpt zcq bns mnc gfx
|
|
||||||
rqf: xxs
|
|
||||||
stx: jar wsf
|
|
||||||
gmc: eph fjq
|
|
||||||
kuh: xax pzu pid amz
|
|
||||||
xix: ikf pek oyn
|
|
||||||
nkp: cmj you ufz
|
|
||||||
mqv: cmj
|
|
||||||
ufz: gwp kav thd ojj ayy fyk mzt tri snz csm tqa abh xrb alq qez qcs fkj lae aiy
|
|
||||||
tnv: asi cvj
|
|
||||||
auw: ozn
|
|
||||||
mms: htl vkn iao
|
|
||||||
gxf: kzf huh spp
|
|
||||||
yuq: vty
|
|
||||||
sxb: gkc
|
|
||||||
dgg: mhx rdc vep
|
|
||||||
dhg: irq pqe
|
|
||||||
isz: xft lzc bwx
|
|
||||||
xzm: you cmj
|
|
||||||
ngh: mqv vot lgv
|
|
||||||
fjq: tbz ahr gqw cgm
|
|
||||||
cyp: zqk
|
|
||||||
mam: qmc
|
|
||||||
byk: vxd dci
|
|
||||||
dyl: rzq
|
|
||||||
fpe: hcg ccc
|
|
||||||
mvl: xkz ayq kgq izt vkq lna pnh gmc yly byk bwh asz cew fhd xgj cac
|
|
||||||
vkq: vso wjb lor
|
|
||||||
sfy: npt kht
|
|
||||||
cew: czn eph fui
|
|
||||||
ftw: ufb ozn
|
|
||||||
smb: stn oln aww
|
|
||||||
tqj: xgy mqs rum epd
|
|
||||||
vrr: rzq smb
|
|
||||||
vxd: mrh ufh
|
|
||||||
mmd: tyr ubl fpe sak bfo veu lwp ysq rzx vpd eit tcj fej ahw txn yfb vwu
|
|
||||||
xur: xic bei
|
|
||||||
msk: lcx kpp mvl fto
|
|
||||||
umv: qwp pkk dgt
|
|
||||||
xgy: qbe oln aww
|
|
||||||
aps: cqr umy
|
|
||||||
cvj: qky ogz umv pnw tej lbk jzs tog fhz vkr hty lbo rqf jzc qoa onk
|
|
||||||
aic: kfx vjd mam
|
|
||||||
hcg: lqv liy
|
|
||||||
qnk: nrs avm mqv vot
|
|
||||||
yws: jzl
|
|
||||||
qmc: rdz jqd lyi tpq
|
|
||||||
nok: fjg lbv
|
|
||||||
jgk: out
|
|
||||||
thd: gga
|
|
||||||
gfg: jok ecn iqo
|
|
||||||
gfy: sqm
|
|
||||||
gcn: cvj flu ufb asi
|
|
||||||
dhh: avc
|
|
||||||
xer: gcn ult
|
|
||||||
uht: cdw
|
|
||||||
xjj: sum gyg
|
|
||||||
prd: out
|
|
||||||
asb: lvg htv kop
|
|
||||||
cmj: gwp kav thd ayy mzt snz csm tqa abh zce alq qcs qez lae
|
|
||||||
lae: aps gjt cny
|
|
||||||
hex: vty nbi ogq
|
|
||||||
ykj: oln stn qbe
|
|
||||||
zce: cny
|
|
||||||
kzf: ntp vsi vih
|
|
||||||
ojj: ocv gxf
|
|
||||||
yqv: hwg
|
|
||||||
zqk: lvg kop
|
|
||||||
aty: ins
|
|
||||||
npt: bqw fmu hrc
|
|
||||||
pid: cmj you ufz
|
|
||||||
wdh: wvx wya
|
|
||||||
sum: jxj tcj imw ysq jsl sak veu
|
|
||||||
fio: jgp tpt joe atl vct
|
|
||||||
nfc: uix nxy
|
|
||||||
mno: you
|
|
||||||
wec: mzb eqd
|
|
||||||
qyh: dyo zqy uef
|
|
||||||
pto: bei xic euk
|
|
||||||
spp: vsi sju ntp
|
|
||||||
der: bxo
|
|
||||||
vjd: cbk qmc jws yoz
|
|
||||||
cfp: oln stn els qbe aww
|
|
||||||
eqp: oln qbe stn els
|
|
||||||
csm: yuq jeo zvw
|
|
||||||
mdv: out
|
|
||||||
fmw: mvl
|
|
||||||
yoz: lyi
|
|
||||||
acj: zqk lgu izw
|
|
||||||
umy: wvb euz xdh
|
|
||||||
kop: tnv ikf oyn auw
|
|
||||||
ysq: ccc xvj
|
|
||||||
cny: umy paa
|
|
||||||
val: kfx vjd
|
|
||||||
ycs: ddh
|
|
||||||
jzl: els qbe
|
|
||||||
avc: thy nvf ill
|
|
||||||
rzx: qnk
|
|
||||||
bwh: afd blf van uph
|
|
||||||
qdy: cji bfd
|
|
||||||
flu: jzc qoa lbo qky umv hty jzs mcm
|
|
||||||
pgw: fmw erg jer
|
|
||||||
you: qcs ckk fkj xrb csm lae
|
|
||||||
jer: kpp
|
|
||||||
wsq: rgc
|
|
||||||
sak: guy kvy buy
|
|
||||||
rqb: mvl xmd
|
|
||||||
bud: mno xzm nkp
|
|
||||||
xrf: sum gyg
|
|
||||||
vkr: xxs wat dwh
|
|
||||||
gxk: out
|
|
||||||
nzq: lco
|
|
||||||
lcx: ukv yta eny vkq fhd gmc pnh uor cew
|
|
||||||
rjq: tje zkz
|
|
||||||
fhz: fft hak
|
|
||||||
xxh: xjo gwd
|
|
||||||
lvg: oyn
|
|
||||||
zbg: ysi
|
|
||||||
mqs: aww stn qbe els oln
|
|
||||||
uor: tjo ups
|
|
||||||
jzs: hvg fft
|
|
||||||
ufh: mmd sum
|
|
||||||
xpa: huh kzf spp
|
|
||||||
oia: lkx xpq
|
|
||||||
imw: kvy guy
|
|
||||||
tpt: ufb asi
|
|
||||||
mzb: wfb rfz sps
|
|
||||||
unx: sqm
|
|
||||||
ykg: out
|
|
||||||
rzq: els aww
|
|
||||||
hrc: fbs clx
|
|
||||||
tfl: lft nce ufh wjh
|
|
||||||
fuv: vdq gxk ezs
|
|
||||||
abi: wqi
|
|
||||||
ysi: kjy
|
|
||||||
rkh: zww wqi ikh
|
|
||||||
vtx: fuv npv zkc
|
|
||||||
wzr: niz rbe qso
|
|
||||||
wat: lkt hux tth lad
|
|
||||||
rgc: iqo jok
|
|
||||||
hty: vux rmo
|
|
||||||
ium: stn els oln aww
|
|
||||||
pfb: kuc
|
|
||||||
xzk: qft gfx fug fjj abi jmw fay ycs vdg mnc
|
|
||||||
uix: xmd fto
|
|
||||||
fug: ikh
|
|
||||||
qwp: ium ykj jzl
|
|
||||||
lco: asi cvj
|
|
||||||
cji: evd rzq kjy
|
|
||||||
scd: gyg clx sum mmd
|
|
||||||
isv: icv akf orc
|
|
||||||
pda: cmj
|
|
||||||
ypx: out
|
|
||||||
qxn: aww qbe oln stn els
|
|
||||||
gyg: apx lwp vqb yes fpe sak bfo jsl ysq jxj txn fej wec zdm rzx tcj eit
|
|
||||||
kvy: oif mmw vhu zgs
|
|
||||||
zao: toh pgw yqv
|
|
||||||
cgm: nnm gyk
|
|
||||||
uef: kth
|
|
||||||
wcn: out
|
|
||||||
lqv: vmi
|
|
||||||
nvf: yqv weg toh
|
|
||||||
nmg: lbv
|
|
||||||
htl: kpp lcx
|
|
||||||
oao: znu cwu
|
|
||||||
fjj: ikh wqi
|
|
||||||
orc: xmd mvl fto
|
|
||||||
tji: mmd fbs clx sum
|
|
||||||
gwd: qso niz
|
|
||||||
ilb: nkp xzm mno
|
|
||||||
ahr: dep
|
|
||||||
ocg: bgh xjr igy oht bzh
|
|
||||||
dac: pda vmi bhz rjb tcc
|
|
||||||
kpp: bwh xgj byk cew uor gmc
|
|
||||||
lyi: cvj ufb ozn
|
|
||||||
bzh: fto mvl lcx kpp
|
|
||||||
tog: qwp
|
|
||||||
izt: fxy
|
|
||||||
vhu: fcn
|
|
||||||
rms: els qbe oln
|
|
||||||
tth: yrk tqj ojt
|
|
||||||
bwe: vdq gxk ley
|
|
||||||
oks: mvl xmd kpp
|
|
||||||
10
day11/sample
10
day11/sample
@ -1,10 +0,0 @@
|
|||||||
aaa: you hhh
|
|
||||||
you: bbb ccc
|
|
||||||
bbb: ddd eee
|
|
||||||
ccc: ddd eee fff
|
|
||||||
ddd: ggg
|
|
||||||
eee: out
|
|
||||||
fff: out
|
|
||||||
ggg: out
|
|
||||||
hhh: ccc fff iii
|
|
||||||
iii: out
|
|
||||||
73
day11/sol.py
73
day11/sol.py
@ -1,73 +0,0 @@
|
|||||||
import heapq
|
|
||||||
def solve(input):
|
|
||||||
G = {}
|
|
||||||
V = []
|
|
||||||
for line in open(input):
|
|
||||||
parts = line.split()
|
|
||||||
v = parts.pop(0).strip(':')
|
|
||||||
V.append(v)
|
|
||||||
G[v] = parts
|
|
||||||
|
|
||||||
sinks = [e for edges in G.values() for e in edges if e not in V]
|
|
||||||
V += sinks
|
|
||||||
for v in sinks:
|
|
||||||
G[v] = []
|
|
||||||
|
|
||||||
# reversed graph
|
|
||||||
R = {}
|
|
||||||
for v, E in G.items():
|
|
||||||
for e in E:
|
|
||||||
R.setdefault(e, []).append(v)
|
|
||||||
|
|
||||||
# topological sort
|
|
||||||
# T is an order of vertices such that each vertex is
|
|
||||||
# listed _after_ all the vertices connected to its incoming edges.
|
|
||||||
T = []
|
|
||||||
seen = set()
|
|
||||||
def visit(v):
|
|
||||||
if v not in seen:
|
|
||||||
seen.add(v)
|
|
||||||
for e in R.get(v,()):
|
|
||||||
visit(e)
|
|
||||||
T.append(v)
|
|
||||||
|
|
||||||
visit('out')
|
|
||||||
#T.reverse()
|
|
||||||
#print(T)
|
|
||||||
|
|
||||||
def paths(start,end):
|
|
||||||
Q = [(0,start)]
|
|
||||||
seen = set()
|
|
||||||
paths = {v:0 for v in V}
|
|
||||||
paths[start] = 1
|
|
||||||
for v in T:
|
|
||||||
if v in seen:
|
|
||||||
continue
|
|
||||||
seen.add(v)
|
|
||||||
for e in G[v]:
|
|
||||||
paths[e] += paths[v]
|
|
||||||
#print(paths)
|
|
||||||
return paths[end]
|
|
||||||
|
|
||||||
if 'you' in G:
|
|
||||||
# Part 1:
|
|
||||||
# find all paths from you -> out
|
|
||||||
print(paths('you', 'out'))
|
|
||||||
|
|
||||||
if 'svr' in G:
|
|
||||||
# Part 2: find all paths that pass through
|
|
||||||
# svr -> fft -> dac -> out, or
|
|
||||||
# svr -> dac -> fft -> out.
|
|
||||||
sf = paths('svr', 'fft')
|
|
||||||
sd = paths('svr', 'dac')
|
|
||||||
fd = paths('fft', 'dac')
|
|
||||||
df = paths('dac', 'fft')
|
|
||||||
do = paths('dac', 'out')
|
|
||||||
fo = paths('fft', 'out')
|
|
||||||
|
|
||||||
print(sf*fd*do + sd*df*fo)
|
|
||||||
|
|
||||||
|
|
||||||
solve("sample")
|
|
||||||
solve("sample2")
|
|
||||||
solve("input")
|
|
||||||
Loading…
x
Reference in New Issue
Block a user