diff --git a/2020/data/day20.expected b/2020/data/day20.expected new file mode 100644 index 0000000..0b94c28 --- /dev/null +++ b/2020/data/day20.expected @@ -0,0 +1,2 @@ +54755174472007 +??? diff --git a/2020/data/day20.input b/2020/data/day20.input new file mode 100644 index 0000000..251acfc --- /dev/null +++ b/2020/data/day20.input @@ -0,0 +1,1728 @@ +Tile 2539: +#.##...... +##......#. +#.#...#..# +###..#...# +....#.#.## +#........# +..#..###.# +#..#..#... +.....##### +##.##..##. + +Tile 2909: +....##..#. +#........# +....##.... +..###..#.. +#..#...... +#...#..### +.........# +#...#...#. +....#..... +.##..##.## + +Tile 1373: +#..###.##. +#......#.# +..#.....## +..##.#...# +........## +....#...#. +.......... +#..##.#.#. +.....#...# +..##.#.... + +Tile 2953: +######.... +........#. +..#....... +#.#....... +##........ +##........ +..#.....## +#.#......# +##..#....# +#.####.### + +Tile 2437: +#..##..##. +.....#...# +#.#..##... +.#......## +#.....#..# +#......#.. +...#.#...# +#...#....# +#......... +.##.....#. + +Tile 1823: +##.....### +##.#..#..# +....##.... +#......... +..#.....#. +#..#...... +..#....... +..#.#....# +.....#..#. +####....#. + +Tile 3889: +..##...#.# +#........# +#.......## +.......### +.......... +....#..#.. +..#...#..# +.##...#..# +##.....#.# +.######.#. + +Tile 2549: +..#.#.###. +.......... +.........# +#........# +#......... +#..#....## +.......... +#.....#... +#.#...#### +#...#####. + +Tile 3797: +#.#.#..#.. +#........# +.#.##..... +#........# +#........# +#......... +#.#...##.. +#..#.....# +#.#.##.... +.#######.. + +Tile 1249: +.##..##... +.....#.... +#....#...# +..#......# +###..#...# +...#....#. +#.....#..# +.#.#...... +#.#.##.#.# +#.#.##..#. + +Tile 3821: +.####.##.# +.........# +#...##...# +.##.#...## +##..#.##.. +.....#.#.# +..#...#.## +#.......## +...#.....# +....#.###. + +Tile 3329: +##.##.###. +......#... +...#....## +....#....# +#......... +..#...#... +....#..... +..#......# +.......... +...#.##..# + +Tile 1279: +##...#.... +#.#.#...## +.#..#...#. +.#....#.#. +.##......# +.........# +##......## +.......... +.#........ +..#..##... + +Tile 3907: +.#....##.# +#.#...###. +##.....### +##......#. +..####.... +.#...#.... +#....#..#. +#.#....... +.#......#. +##....###. + +Tile 3833: +....#.###. +.......#.# +...#...#.. +#.#....... +..#.....## +#......... +.....#.#.. +#.....#... +..#..#.... +.#####.... + +Tile 2011: +.#...#...# +#.#....... +#..#....## +.....#.... +.......#.. +.#.......# +......#.#. +#.##...### +##..#..### +###..#.### + +Tile 3881: +###..#...# +#..#.....# +##..#...## +.....#.##. +.........# +.#.......# +....#..#.# +..#.....## +##......## +...#..#.#. + +Tile 2341: +.....##.#. +#....#..#. +....#.#... +#.....#... +.....#.... +#.......#. +.........# +##....#..# +.........# +##.#..###. + +Tile 2917: +###.##.... +##.......# +#........# +#......#.. +#......... +........## +.........# +....#....# +#.##...#.. +..#######. + +Tile 2333: +#####..... +.....#...# +....##...# +.......... +...#...#.# +....##.... +....#..... +.......#.. +###....#.# +..##.#..#. + +Tile 2287: +.#..#.#.#. +##...#.... +....#..... +.......#.. +.....#...# +#....#.### +.........# +#.##..###. +#......#.# +.##.#.#.## + +Tile 3391: +#..#.#..#. +......#... +#......#.. +#.#.#....# +....#....# +#..#....## +....#....# +..#.....## +#........# +.###.#..## + +Tile 2677: +#..#.#.... +..#...#..# +#...##...# +##.......# +.........# +.......... +#...##.### +#....#.... +..##..#.#. +...#...##. + +Tile 2273: +.###.####. +##.##...## +.....###.# +#..#..#..# +.##......# +#.#..#...# +#........# +#......... +........## +####.#.... + +Tile 3967: +....#..##. +..#......# +#....##... +#.....#.## +...#...#.# +#.#.#..##. +#.......#. +#.......## +...##.#..# +...#.#..## + +Tile 1553: +.###.#..#. +##...#.... +.....#...# +......#.## +.........# +.......... +#..##.#..# +#...#..... +#......... +..#..##..# + +Tile 1291: +.#.......# +..#......# +......#..# +##.#..#..# +##........ +.......... +.........# +......#.#. +##....#.## +##...#.#.# + +Tile 2003: +..####.##. +##.##....# +#......##. +.........# +.......... +...#.##..# +#.#.....#. +..#.#....# +#..#.....# +..##..##.# + +Tile 2267: +..#...#... +...#....#. +#..#..#... +#...#..... +...#.....# +.#........ +#.#...#..# +...#..#... +#.#......# +.####.#... + +Tile 1237: +#.#....##. +.......#.# +.....#.... +...#.##... +....#..... +#.#.#....# +#..#...... +##........ +#......... +#.#.##..#. + +Tile 3187: +#.####..## +.....#.... +#..#...... +.#.#...... +..##....## +..#......# +...#.#.... +#........# +.....##.#. +.###.#.##. + +Tile 2393: +#.#.###.## +#......... +#..#.#...# +#.#....... +#.#....#.# +#.#...#... +...#.....# +#.#....#.# +#...#....# +..#.###... + +Tile 3413: +.##...#... +#.....#... +#......... +#..#..#..# +#....#.#.. +##..#..... +#.....#### +#........# +....##.... +###.###.## + +Tile 3083: +#####.#### +#..##..... +.......... +........#. +.#.......# +.........# +#...#.#..# +#....##.#. +##..#.##.# +....####.# + +Tile 1523: +###..##..# +.#.#..#..# +....#...## +.....#.... +#..#.....# +#....#...# +........## +.......... +##.....#.. +#.#..##..# + +Tile 3673: +#.####.### +#........# +.#...#..#. +.........# +##.....#.. +.......... +#......... +......#..# +##.#.....# +.#..##..## + +Tile 2111: +#.#.#.#### +......#.#. +..#......# +........## +#.....##.. +.........# +#..#...... +........#. +#........# +..#..#.#.. + +Tile 1153: +.#.#..#..# +#.....##.. +...#.....# +...#.....# +#..#.....# +##.#...... +#.####.... +#........# +#......... +..#.....#. + +Tile 3457: +..#......# +#.##...#.. +#......... +...#...##. +....#..... +.#........ +#........# +......##.# +.......... +#.#.....#. + +Tile 2693: +.####..... +#........# +..#....#.. +.......### +..#...#... +.....##... +#.#.#....# +#.#....... +##.##.#..# +.####.#..# + +Tile 1367: +##...##.#. +.......#.. +...#..#... +#....#.... +##........ +##....##.# +#......#.# +#...#.##.# +#...#.#..# +.##.....## + +Tile 2543: +#..###.#.# +#....###.# +##......#. +...#.....# +#....#..## +......#..# +#..#.#.#.. +...#....#. +....##.### +#...###### + +Tile 1229: +#.#....##. +#...#...## +.##....... +#...#..#.# +#.#.#..#.. +#..#..#..# +##....#... +#...#...## +#.#....... +##.#.#..#. + +Tile 2833: +.#...#..#. +........#. +#.#..#.... +...##..#.# +#....#.... +........## +.........# +.........# +#........# +.###.#.#.# + +Tile 2089: +.####.###. +..###....# +#....#.#.. +##........ +..#......# +###...#..# +###...#.## +......#... +#......... +.###...##. + +Tile 3209: +.######..# +.#......#. +#.#.#..... +##.....#.# +#......### +##...##... +......#... +#.#....... +#..#....#. +...#...### + +Tile 1979: +#...###.## +#.......## +#.#.#....# +....#..... +...#.#..## +#.##...#.. +##.#.....# +#...#..... +.....#.... +....##..#. + +Tile 3779: +##.##..#.. +..#......# +#.#.....#. +.#........ +#...##..## +##.....#.. +...#.#.... +##........ +#..#...#.. +.###.##.## + +Tile 3089: +##.#.##..# +#..#...... +..#......# +...#....#. +#.#....... +.......... +#.....#... +#........# +#......#.# +.####.##.# + +Tile 1627: +#..#....#. +.#.####.#. +#...#..... +...##.#.## +....#...#. +...#.##.## +.......#.# +#..#..#..# +#.....##.# +#...##.#.# + +Tile 2389: +.##...#.#. +#..#..#... +#......... +.........# +.....#.... +....#...#. +.#.#...#.# +....###..# +#....##.#. +####..#.## + +Tile 1193: +.#.##.#### +.#......## +#...##...# +..##..#.#. +.......... +.....##.## +#......#.. +...#.##... +....#..##. +##.####### + +Tile 3323: +#..#...### +........#. +##.....#.# +#....#...# +....#..... +#...#..#.. +#......... +.#.....#.# +..#......# +#..#.#.... + +Tile 2719: +####...... +..#.....#. +.#....#... +#...#..#.. +#......... +#......#.. +#..#....## +.....#.... +#.##...##. +#.#.#..#.# + +Tile 2399: +#..##.#### +.........# +#......... +...#...##. +.........# +#...#....# +.......... +........## +.......... +.#.#...#.. + +Tile 1543: +##..#.#### +....#....# +....###### +#..####.## +...##..#.. +#..#.#...# +#.#....... +...#....#. +##..###.#. +#.##.....# + +Tile 1723: +.#.##..#.. +...#....#. +...#...... +##....#.## +.#....##.. +#.#......# +##.##....# +.....#...# +..#....... +#..#.##..# + +Tile 2503: +..###...## +.......... +#..#.##..# +...#.#...# +...###..## +.....#.... +#.....#..# +.#.#.#.##. +#......#.# +..####..## + +Tile 2887: +......##.# +##........ +.#........ +#.......## +#.##...##. +#...#...## +##.....##. +....#..... +........## +#.######.. + +Tile 3467: +#..#..#.#. +....###... +....##...# +....#.#... +.......... +........#. +......#.#. +#.#...#..# +#........# +#.##.##.## + +Tile 3677: +....##...# +#.##..#... +.#....##.. +.#.#...... +#.##..#... +....#..... +......#.#. +#..###..#. +#.#....#.. +.####.##.. + +Tile 1493: +.##.#...## +#.##...##. +.#...##### +#..#....#. +#.#......# +.........# +##......#. +#......#.# +#....#.#.# +#.#...#..# + +Tile 2687: +.##.##..## +.......#.# +#........# +##...##..# +...#....## +.....#.#.. +#.##.#.#.# +#......... +#....#...# +###.....## + +Tile 1861: +####..##.. +...#..#... +.......#.# +#......... +#......... +#........# +...#.....# +#.#......# +#.#..##.#. +.#..#..#.# + +Tile 2081: +#..#####.# +...#.....# +.#......#. +#........# +.......#.# +#....####. +#....###.# +.#....#### +....#..... +.##.##...# + +Tile 2113: +#..#..##.. +.#.....##. +.....#.#.# +#........# +.......#.# +...##.##.. +......##.. +#....#.#.# +#.....#..# +#...#..#.# + +Tile 2203: +.#.##..#.# +....###..# +.#.#....## +#...#..... +##.#...#.# +..#..#..#. +#..#...... +#......#.. +#...###... +.#...##.#. + +Tile 3943: +#....###.. +#.....##.# +#....#...# +#..#....## +###..#...# +.#.#.#...# +.......##. +#....##..# +.#.......# +.#..#.#.## + +Tile 2579: +.#...###.. +#......... +#........# +.......#.# +##.#...... +....#....# +#.......#. +.#...#.... +.....#...# +..#.##..## + +Tile 1103: +.#.##.###. +#......#.# +....#....# +....#.#... +#......#.# +.......... +.......... +#...#....# +#........# +....#####. + +Tile 1993: +.##..#.... +....#.#..# +##...#.... +.........# +#...#....# +.......... +..#..#.#.. +.....##... +.##...##.# +..##.##... + +Tile 1801: +#..##.#### +#.......## +#......#.# +#.#....#.# +#.##....#. +.#..#.###. +...#...... +#.....##.# +.#.......# +##.###..## + +Tile 3319: +.###.##.#. +##......#. +.#........ +#.#......# +#..#...#.# +#.#......# +.#.......# +#........# +#......#.. +....###..# + +Tile 3229: +###...###. +#....##..# +....#...## +...#...... +..#.#....# +.......#.# +......#.#. +.##..#.#.# +...#..###. +##...#.#.. + +Tile 1033: +#..#.##.## +....##.... +#.......#. +#......#.# +#........# +##.......# +#..##..#.# +.......### +#......... +.##.#.#..# + +Tile 3769: +###...#.## +........#. +#......... +#........# +..#.#.#### +#...#...## +.#.#.....# +.......... +#........# +#.##.#...# + +Tile 1571: +.####..... +#......#.# +#.#.#.#.#. +.........# +##.......# +.......#.# +..#.....#. +#......... +#..#....#. +######...# + +Tile 1657: +...#.#.##. +........## +#......... +#.#..#.... +#..#.#.#.# +...#.###.. +....#..... +...#.....# +#.....##.# +#####.#.## + +Tile 3541: +.####.#### +.......... +#......##. +#......#.. +#........# +#.....#..# +........#. +##.....#.# +.......#.. +#.#.###.## + +Tile 3019: +...##..##. +#..##...#. +#....##... +#........# +#..#.#...# +#..#.....# +.#........ +#.#..#...# +...#.....# +.#......## + +Tile 2383: +.#.#....## +#....#.... +......#..# +#.....#..# +#.##.#..#. +#..#....## +.....#...# +....#...#. +#.....#.#. +.#.#.#.### + +Tile 3929: +...#.###.# +#.#..#.... +.........# +..#......# +.#......## +#.....#.## +#...#...## +#.##...... +#.....##.. +#...##.... + +Tile 1697: +##.##..... +...#.....# +#..#.....# +.........# +...#...##. +.#..#...## +...###...# +#..#..#... +.#.#..#... +..#...#... + +Tile 1999: +..##....#. +.........# +...#.#...# +#......... +..#.#.#... +#......#.# +.#.##...#. +#....#...# +#....#.#.# +#.#..##... + +Tile 1289: +#..###.... +...#...... +....#..... +#.....##.# +#.##....#. +...#.#..## +#.#...#... +.......... +..#......# +####..###. + +Tile 1163: +.###.#..#. +#..#....#. +#...#...## +...#.....# +#.....#... +.........# +.......... +###....... +#........# +###...#### + +Tile 3121: +##....#... +#..#.#.#.# +.#....#... +..#......# +#....#.#.. +.##......# +......#.## +....#.#... +...#...... +#...#...#. + +Tile 2939: +..##.#.### +#....##..# +....#..### +###....#.. +#..###..#. +..##.....# +#..#....## +..#.#..... +#......#.. +.#.#.#..## + +Tile 1129: +....#..#.# +#........# +...#.#.... +...#...#.# +#........# +.......... +..#...#### +...#.#.... +#....#..## +##.#.##..# + +Tile 1877: +..##..#... +#.#...#... +..#...##.# +#......#.. +......#.## +.##....#.# +....#..#.. +......#... +#..#..#..# +#..#..##.. + +Tile 3061: +..#.#..... +.#........ +.......... +#...#.#... +..#......# +........## +#......#.. +#..#.....# +#.#....#.. +.####.#.## + +Tile 2851: +.#####..## +..##...### +#......#.. +.#..#....# +.....###.. +.........# +.......### +.....#.### +#......#.. +.##.##..## + +Tile 1409: +##.##..### +#......... +#...###..# +.........# +........## +#.#.#...#. +.#...#.##. +....#..#.. +#..#...#.# +#.###..... + +Tile 3853: +...###.#.# +##.#...... +.....##.#. +.#.......# +....#....# +#.#.#..#.# +....##.... +........## +#.#....... +.#.#.##.## + +Tile 2803: +.#...####. +#..##...#. +#.#..#.... +.....#...# +.........# +#....##... +#........# +##....#... +#..#..#..# +..#.#...## + +Tile 1709: +....#..... +.........# +.........# +....#....# +..##.#.... +....#..... +#.#....... +#.......## +#...#....# +.#.....#.# + +Tile 2351: +..#.#.#... +##.......# +....#.#... +......#..# +.......... +.......#.# +##........ +#.......#. +.....#..#. +.#...##..# + +Tile 2347: +###..#..## +###......# +#..##.#.## +#...#...#. +#......... +.....#.### +...#....## +#......#.. +#.#.##...# +.###..#... + +Tile 1307: +##..#####. +.#....#..# +.......... +#...#..#.. +.....#.... +#.##.#...# +###..##.#. +.##.#..#.# +#.#.#..... +..######.# + +Tile 1901: +######..#. +##.#.....# +#....#.#.# +........#. +....#....# +#.......## +#........# +.......#.# +.#..##...# +.#.#.##### + +Tile 2029: +#...##.##. +#........# +##....##.# +#.#..#.... +.##..#.... +.#....#... +.##......# +.......... +##..#..... +#.......## + +Tile 3571: +##...#.#.# +##....#..# +....#.#... +..#......# +#......#.# +..#....### +.......... +#.#......# +.##.....## +.##.#...## + +Tile 1399: +...###...# +......#..# +##...#.#.# +#........# +#.#.#.#..# +....####.. +#.....#..# +.....#.#.# +#......#.# +#...#..#.# + +Tile 1381: +#..#....#. +#....#...# +......##.. +#....#...# +..#.#...#. +##..#....# +#....#...# +.....#.... +#.......## +#####..#.# + +Tile 1549: +##...####. +........#. +........#. +..#...##.# +.........# +#.#.#.#..# +.#.....#.# +.....##.#. +##.......# +..#.##.... + +Tile 3623: +..#....### +...#...#.. +.......#.. +.##......# +..#..##... +.........# +#...#..... +..#......# +..#......# +..##..###. + +Tile 2143: +#.#..#.#.. +#...#...#. +#......#.. +.#..#...## +#.....#.## +......##.# +..#.#...#. +.......... +#...#....# +#....#..## + +Tile 3631: +#######... +#.......## +.......... +.....##..# +........## +#..#.#.... +.......#.# +........#. +#.......#. +..####..## + +Tile 3359: +#..#...#.. +...#...... +...#.#.#.# +.......#.. +...#.#.... +##.....#.# +#......... +#..#...... +#........# +#.....#.## + +Tile 2239: +......#.#. +###.#..... +.#....#... +..##...... +##.####..# +.......... +..#...#..# +#..##....# +##...#.... +##.#.#...# + +Tile 1741: +....###.## +##...#...# +....##...# +#.......## +#.#....... +...###...# +#.......#. +.##....#.. +#......... +..###.#### + +Tile 1597: +..#..###.. +#...##.### +#.#..#.... +#.#...#..# +#....#...# +#.......## +......#..# +##...##... +#.####.... +..#.#....# + +Tile 3761: +#.###.#### +..#.#.#..# +....#.##.# +.###....#. +#......#.# +#......#.. +#.#......# +##.......# +#.#....... +.#..#.#.#. + +Tile 3203: +#......#.# +#.....#... +#.#.#..#.. +......#... +#..##..... +##...#...# +.....#...# +..#...#..# +#......... +.#.#..###. + +Tile 1579: +###.#..... +.#.###..#. +.....###.# +#...#.##.# +...#..#... +...#.....# +...#.....# +#.......## +..#.#..#.. +###.....#. + +Tile 3617: +#......#.. +#.....#... +.....#.##. +#....#.#.# +...#..#..# +......#.#. +#..##....# +##....#... +.#...#.... +#.....##.# + +Tile 1667: +#.....#.## +##....#..# +.......... +##........ +.#..#..... +#........# +...#.#.#.# +#......... +.#........ +..#.#.###. + +Tile 2153: +....##.##. +........#. +.#..#..... +....###..# +..##...#.. +.#.....### +.#...###.. +#.#..#.##. +..##....## +####.#.... + +Tile 1721: +.###..##.. +#.#....#.# +.....##..# +#......... +##...#...# +#......#.# +.#......## +#........# +...#...### +####..#... + +Tile 3539: +#.##.#.#.# +.........# +#..#.....# +.....#.... +..#....... +##.#....## +..#.##...# +........## +#....#.... +#.#..#.#.# + +Tile 3313: +...#..#### +.......#.# +#........# +.....#.#.. +#..#..##.. +#...#..... +#..#...#.# +...#...... +##....#.#. +.#.###..#. + +Tile 3851: +...#..##.. +#......#.# +...#..##.. +#........# +#....#...# +#.....#..# +#...##.##. +##.......# +.#.##..##. +..###..#.. + +Tile 3389: +.####.##.. +.#...#..## +.......... +.#......## +.##....... +###......# +...#.#...# +.....#...# +#.#....#.# +..####.#.# + +Tile 1933: +..###.#..# +..#......# +#.#....#.# +#..#...... +##...#.... +.....#.... +....#..#.# +.#..##...# +#......#.. +......#.#. + +Tile 1361: +#..##...## +.......... +.........# +#.#......# +#........# +..##..#..# +..#..#..## +.....#.... +....#....# +#.#.###.#. + +Tile 2789: +.##.##.### +#....#.#.# +.....#.#.. +.......... +...#.#...# +.........# +....#..... +......##.. +#......#.. +#.###.#### + +Tile 3637: +.##.##.... +###...#... +###...#.#. +.......... +###......# +#.......## +##.....### +....###..# +#.......#. +...##..#.# + +Tile 2411: +.##.#.###. +......#.#. +#...#..### +##.#....## +#......... +..####.... +#..#.#...# +.......... +#...#..#.# +#.##...##. + +Tile 1487: +...#.#...# +.#..##...# +#....#.... +###.###..# +..##..#..# +#..#...... +##...##... +..#..#.... +.....#.#.. +.....##.## + +Tile 1061: +.#####..#. +#.......#. +...#...... +....#...#. +....#.#... +#.###...#. +....##...# +###.....#. +...##...#. +#....#.#.. + +Tile 1669: +##...##..# +#........# +.#.#...... +.###.##... +#...#..... +..#.....## +#...#..#.# +#.##....#. +#........# +##.#.#.##. + +Tile 1123: +...###...# +....#..... +#...#....# +...#.....# +#......... +#....#..#. +.........# +.#....##.# +......##.# +#.#..#.#.. + +Tile 2767: +..###.#### +#...##.... +.........# +.........# +#....##... +#.#....... +.........# +.#........ +#........# +#...#...## + +Tile 1931: +##..###... +##..##..## +..##..##.. +.#...#.... +...#...... +#...##.... +.#.......# +...#.....# +....#..... +.#.#.###.# + +Tile 2731: +...#.#..## +.......... +..#......# +##....#..# +..#..#.#.# +.......... +#.....#... +.##.##.#.. +#....##... +.###..#.#. + +Tile 2689: +###.#..### +.......### +.#....#..# +......##.# +##...#...# +........## +#...#...## +.........# +....##.... +....##.#.# + +Tile 2897: +#......... +#.#...#... +##.#...... +....#.##.# +#........# +#.......#. +.#....#... +.....#...# +.....#..## +..#.####.# + +Tile 3931: +#.#..##.#. +#......#.. +#...###.#. +.##.##.... +#...###..# +#...###... +.....#.#.# +#......##. +.........# +#.#######. + +Tile 1783: +#......### +.........# +##....#..# +.#..#.#.## +........#. +#..#...... +.......... +.......... +##...#...# +...##.#.## + +Tile 2293: +##...#...# +..###..... +.........# +.........# +..#..#.... +.....#...# +#....##.#. +#......... +...#.....# +.###..#.## + +Tile 3709: +#####.###. +.###...... +#..#....#. +#........# +##..#.#..# +.#.......# +.....#...# +........#. +####..##.. +.#..##.### + +Tile 2357: +.#..###..# +##..#....# +.....#..## +#...#..... +.......... +##...#...# +.#....#..# +##.#....## +....#.#... +#.##.#...# + +Tile 3331: +#.#..#.### +#...##.### +....#.#... +..#..#...# +.#.##..#.# +#.....#.#. +..#....#.. +#.#.##.#.. +#...###... +##..####.# + +Tile 1297: +..####.### +#..#....#. +#....#...# +#......... +###.#....# +....#..#.. +.##....... +.........# +#..#...... +#...#..... +