Compare commits

..

No commits in common. "21a8457a32e2bfcb01ad568be76bce78e0523329" and "0dcd6750425e37d58a52ac62fb0489e4c52d7e37" have entirely different histories.

11 changed files with 0 additions and 1429 deletions

View File

@ -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}

View File

@ -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

View File

@ -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))

View File

@ -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}

View File

@ -1,3 +0,0 @@
0x6 0x1 0x5 0x2 0x3 0xa 0xc
0x2 0x17 0x6 0x11 0x1c 0xf
0x1d 0x3e 0x26 0x3b 0x18

View File

@ -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]
}

View File

@ -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]
}

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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")