Advent of Code 2020 solutions in Racket, I guess
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1728 lines
17 KiB

Tile 1319:
#.########
##.#.#.#..
.....#..##
.#.....#..
.........#
#.........
#..##...#.
#.#.#...##
.#....#...
....##..#.
Tile 3547:
##.##.#.##
.....##.##
...#.....#
#..#.##.##
#.....#...
#....##...
...###....
.....#.#.#
#.##....#.
###.#.##.#
Tile 3373:
##.##..#.#
#.###.#..#
#..####.#.
...#...#..
###.###...
...#.#..##
........#.
#.#.#.#.#.
.#.#......
#.#.#..#.#
Tile 3329:
....#...#.
#.....##..
####.##..#
..#..##..#
#........#
#..#..#...
.#..#..#.#
.....####.
....#.....
#..##..##.
Tile 3221:
.##.#.##.#
##.....###
........#.
.#........
#.#......#
..#..#...#
##..#.#...
..#..####.
#.#.......
...#.##.#.
Tile 3307:
##...##...
#..#..#..#
#........#
.#.....##.
...##.#...
.....#...#
.#..##.#..
.....#..#.
..........
#..####...
Tile 2389:
..###...##
...##...#.
#.##..#..#
##.......#
..........
#.......#.
##...#..#.
##...#.#..
.....#...#
.###.#....
Tile 2851:
.####..#..
.......##.
#.....#..#
#..#......
#........#
......#.#.
...#....#.
#....####.
#.##.....#
.#.#.#####
Tile 3271:
.##..##.##
#.#####..#
....#...##
#.####...#
...#..#..#
#....#...#
..##......
.#...#.#..
#...#.#...
##.###....
Tile 3821:
#####..#.#
.......#.#
#......##.
#..#..#..#
.#..##...#
#.....#..#
.#..#....#
#...###..#
#.#.......
...#.....#
Tile 1811:
#..##.###.
......###.
#...##.#.#
.....##.#.
##...#...#
.##..#..#.
#.....##.#
...#..#.##
....##...#
....##.##.
Tile 3739:
.###.##..#
#.##...#.#
#..#...#..
#.....#.##
#.....#...
...##.....
......#...
..#.....##
#.#.#....#
##....#.#.
Tile 2377:
...##.#.#.
##....#.#.
##........
....#....#
......#.##
##...#....
........#.
.......#..
#....#....
.#......##
Tile 3853:
.#..#.#...
###.#.#.##
##....#..#
#.#..#....
..#.#.....
##.##..#.#
.#........
##..#.##..
...###...#
..###.#.#.
Tile 3037:
##.####...
#....##..#
#......###
###.#..##.
........#.
.......##.
..#....#.#
........##
.#.##..#..
#..#..#.##
Tile 2381:
..#.##.###
...#...##.
#....#....
.........#
##.#.....#
.....##.##
#.....####
.###......
........##
.##......#
Tile 1663:
####...##.
#.....#.#.
#..##...#.
.........#
......####
.#.....###
......#..#
.........#
.........#
.#####..##
Tile 3167:
..##...##.
.#.....##.
#......#..
.#.#......
#....#....
#..#.##...
.#..###...
......##..
#...#..#.#
##..#.###.
Tile 1481:
.#.###.#.#
.##......#
####...#..
..........
.....#....
#.........
.#.##..#..
.#.##....#
..###....#
.##.####.#
Tile 3457:
.#.#..####
.........#
#.......##
#........#
.#.......#
#.##.....#
.##..#.##.
.....#...#
#...#....#
....##..#.
Tile 3229:
#..###..#.
.....##...
##..#.#...
#.....##..
..#..#....
..##....##
#.........
.....#..#.
#..#.....#
..#.######
Tile 1447:
.#..##.#.#
.##.##...#
...#.#....
...#...##.
....#.....
.#..#.....
#.#......#
.....#...#
#..#...#.#
.##....#..
Tile 2243:
##.#.##.##
###.#..#..
....##..##
..##.....#
....###...
#..#...#.#
#..#.....#
#...#.#.##
##..##..##
..###.#.#.
Tile 2927:
#.#.#####.
.#......##
#.......#.
#...#....#
....#.#..#
....###...
...#.....#
.##.......
#.#.......
..#.###.##
Tile 2267:
.##....#.#
..###....#
..##.##...
.##..#.#.#
...##...#.
..#...##.#
..#...##.#
..##...#..
..##...#..
#.#..#....
Tile 2027:
###.#....#
..#.#.###.
...#...###
.........#
.#...#..##
...#.....#
#.......#.
#.....####
.#...#...#
#..#######
Tile 3539:
#..#..###.
#...#...#.
....#.#.#.
.###.##.#.
......#...
...#...#.#
###...#...
.......###
#..#...#..
###.#.#.#.
Tile 3319:
.#..###...
#.#.......
......#...
......#.#.
.......###
#...#...#.
..###....#
.#.#...##.
##.#..#.##
.....#...#
Tile 2861:
..#...#.##
...##..#..
.#.......#
##...##..#
.....#....
...#.#...#
..##..#...
...#.....#
..##..#...
....#.#..#
Tile 3833:
#...#..##.
##.#.....#
........##
#....#..##
.#..#.....
......#..#
##..##.#..
#.#..#....
..#....##.
..#######.
Tile 2357:
..#.#....#
##..#..##.
#.##....##
..#......#
#........#
.....#.#.#
...##..#..
.###...###
..#.#....#
###.##..##
Tile 2647:
.#.##.###.
#......#.#
####..#...
##..#.#.##
#..#.....#
#....#....
#.#.......
#.##.#..#.
##.#......
#..#####..
Tile 1103:
.##.#....#
#....#.#..
.#..###.##
##.#.#..#.
..#.####.#
#.###.#.#.
..#......#
#...#..#.#
....#...#.
#.#..##...
Tile 3253:
....#..#..
.........#
#...#.....
...#...#..
..##......
#####.....
#......#..
..#.#.#...
.....##.#.
##..#....#
Tile 1789:
..###.##..
#......#.#
....#.....
#..#..##..
......#.##
....#..#..
#.#.#....#
...#.#.#.#
....#...#.
..####.##.
Tile 2897:
..###...#.
#......#..
#....#....
..........
#.#......#
...##.#...
#.#..#..##
........#.
#....#....
.##.##..#.
Tile 3347:
....#...#.
.#.##.....
..#......#
#.........
#..#.....#
#...#..#.#
##.####..#
..........
####...#..
#.#....#..
Tile 1091:
#.#.##..##
#.##.#.#.#
#.#.#...##
........#.
#.####...#
##.#..####
#.#.#..#..
#.##.....#
....##....
.##..###.#
Tile 1427:
##.#...#..
..#.#....#
....##..#.
....#..#.#
.....#.##.
.#........
........##
##..###..#
.#..#..#..
###...####
Tile 2069:
.##.######
##.......#
..#....#.#
##....#..#
#.#.....##
#....##..#
#....#....
..#...#..#
...#....#.
##..#..###
Tile 3041:
##..#..###
.##.......
.......#..
#.....#...
##..#...##
.....#..##
..#.......
###.#.....
##...#...#
.#..##.#.#
Tile 2879:
#.##.#.#.#
.....#..#.
#.#....#.#
###...#...
#..#......
.....#...#
..##......
#......#.#
#....#.#..
####...#..
Tile 1373:
..#..#..##
.##....#..
#.....#...
#......#.#
#.#....#..
..##..#..#
...#.....#
##.##.##..
.##......#
...#..###.
Tile 3433:
.####..###
##.......#
#..#.....#
...#..#..#
.#...##..#
#.#....##.
...#......
#...#....#
.#.......#
..##.#.###
Tile 2633:
#.###.##..
#...#..#.#
.....#.###
#..#..#..#
.##.#..#.#
..##.....#
....##....
..#.#..###
#.....#...
..#.....#.
Tile 1933:
#.#.#####.
.##..#.#..
###.###..#
#.#.##....
##...#....
##.......#
###..#....
##..#.....
#####.##..
##.#..#..#
Tile 3391:
.#....####
...#.#.#..
..##....##
#.#..#..#.
.#.##.#...
..#.#....#
#.#....#.#
....#.#...
#.....#..#
#.#..###..
Tile 2153:
.#...##...
#.#.......
#..#......
......#...
..###....#
#.###...##
##.......#
...#..##.#
#......#..
.#.#...##.
Tile 1873:
.#..#.####
#..#..#..#
##..##..##
#..##.....
#..#.#...#
..#.....##
#.......#.
###.......
#....##...
##..####..
Tile 3919:
#.###.####
#.........
#.#.#..#..
..#.#.....
..#.#..#..
#..##.....
#..#.#....
#........#
##...##.##
#..#.#.###
Tile 1277:
#.#......#
##...#....
#..#...#.#
.#...#.###
#....#.#.#
....#.....
####......
.....#.#.#
.#...#..##
...###.#.#
Tile 3793:
..##.##.#.
...#.....#
.#.......#
#.#.##....
#..#.....#
##....#...
.......#.#
##.....#.#
#.#.#...##
###..##.#.
Tile 1993:
##..##.#..
..#..##...
#.#....###
.......#..
#........#
..........
....#...#.
....#..#..
#......#..
#.#..#.#..
Tile 1123:
#.#####..#
...#...###
.##..#.#..
.....#.#..
#..#.....#
....#...##
#...##...#
...#.##...
#.##...#.#
.###.###.#
Tile 1231:
#########.
#...#.#..#
..###....#
#..#.....#
####.....#
..#...#..#
.#.##.#...
#...#.....
###..#....
###...#.#.
Tile 1019:
..######.#
#....##..#
...#.....#
##.....#.#
.........#
###......#
..#..#...#
.#....#...
.#...#....
#...###..#
Tile 3863:
....#.#.#.
...#......
..##.###.#
##..###..#
.........#
.#.##....#
#.....##.#
#........#
#.#.......
###.##..##
Tile 1831:
###.#.##.#
.#..#..#.#
......#.#.
#.##.....#
..#.#..#.#
#........#
#...#...#.
#.........
.....##..#
....#####.
Tile 1031:
.#.###.#.#
..........
#..##.....
#..#...#.#
.#.#......
##.#.....#
..#......#
....##...#
..#...#..#
###...###.
Tile 2029:
......#..#
...#.....#
....#.#.##
##.#.#...#
#........#
.......##.
..........
.#.#......
##.....#.#
.#.##..###
Tile 2837:
#...#.#..#
.#........
##.....#.#
...#.....#
....###.##
.#..###...
..###.##.#
#.#..#..##
#....##..#
....#.#.#.
Tile 3877:
###.#.#..#
#.....#..#
.......#..
..###..#..
..##......
..#.#....#
##.......#
..#...#...
.##.#...##
...#..##.#
Tile 1249:
#..#..####
.........#
.........#
...#......
#.......##
...##.#.##
#.........
#.#.......
#...###...
.#.#..##..
Tile 1601:
.##.#..#..
..#.......
#.....####
#........#
#..#...##.
#.#....#.#
#........#
..........
...#..#.##
#..##.##..
Tile 2749:
#.......#.
#...#.....
..#....#.#
.........#
.#....#...
......#..#
....#...#.
.....#....
.###......
##..##.#.#
Tile 3613:
##.#...###
.##..###..
...#......
...#...##.
.....#....
#...#...#.
#.###....#
#.........
.........#
###.##...#
Tile 3491:
.#.#...#..
#...#.....
#..#...##.
..#.......
..#......#
..#...#...
#.#.......
....##.#.#
#..#....##
.####.....
Tile 2441:
#.....###.
#........#
.#....#..#
#.....#..#
#..#...#..
##....#..#
..#.......
....###.#.
#......###
.#.##.###.
Tile 2417:
.....#....
#...###.#.
..#.......
.......#..
#.......#.
..#.##...#
#.........
....#....#
..#.......
##.##....#
Tile 2663:
###.#####.
##..##....
#..#...#..
#.#......#
#.#......#
#...##.##.
#.........
..#..##...
#....#....
..#.#.#.##
Tile 3527:
.####..###
#.#...####
#..##.....
....#..#..
#.......#.
.#.......#
..##..#..#
........#.
##.......#
###...#..#
Tile 1777:
.#.####..#
.#...#.#..
###..#.##.
..##..#...
.......#.#
#.#....#.#
...#....#.
#........#
.#.#.....#
#.##...##.
Tile 1213:
...###.#.#
##......##
#........#
.#........
....#...#.
.#........
..#....#..
...#.#....
..#.#.####
#..##..#..
Tile 3967:
.....#....
##..#...##
##........
#.#.......
#...#..#.#
..........
.....#.#..
##.....#.#
#...##...#
..#.##.#.#
Tile 2683:
...##..#.#
##..##....
#.##......
##.......#
#####...##
#.#..#....
.#.......#
###....#..
.#.......#
.......#.#
Tile 1499:
.#.....#.#
..#.....#.
####....##
#........#
#.#.#....#
#..#....#.
#.#..##...
#.#.#..#.#
#.##......
..#.###.##
Tile 2687:
.#...#.#..
..#.......
.........#
...##.....
#.......#.
.......#.#
#..#.....#
..###...##
.#....#..#
##...#.#.#
Tile 3469:
##.##.....
#.##......
........#.
##.#.###.#
.....#.#..
#.....##..
.#.#.#..#.
#..#.#....
#.#...#..#
...##...##
Tile 1697:
.####.....
...##.#..#
#.#.###..#
##.....#..
.......###
#....#.#..
...#.#...#
...#......
..#..##..#
...#.##.##
Tile 1451:
###.#.#.#.
.#..#.#...
#.....#.##
#.....##.#
###...##..
.#........
.#..####..
#.....####
.#.#..##.#
##..#..#..
Tile 2789:
..#.#.#.#.
...#....#.
#.##.#....
#...#.###.
.........#
#.......#.
###....#.#
.....#...#
.#.....#..
##.##..###
Tile 2213:
.#.#...###
#.#....#..
..#....#..
#..#.#...#
#...#...#.
###.......
#..####..#
##..#..##.
.........#
####....#.
Tile 3637:
..#.##.#.#
......####
#.#...#.#.
..#.#..#.#
#..#..#..#
..........
#..#...#.#
.......#..
..........
...#.#.###
Tile 1997:
##..###..#
..#.#.....
...#.#...#
.......#..
#....#.#..
#..####...
####...##.
...#.....#
#..##.#..#
#.....#.##
Tile 3089:
..##..#.#.
#.##.#.#..
.#..##.#..
...#.#...#
#.##..####
#...#....#
#........#
#.#.......
#..##....#
..#...#...
Tile 2113:
#...#.....
#.#.##..##
#....#...#
.###......
##..#.....
.#....#..#
....##..##
.#.....#.#
..........
#......#..
Tile 1699:
#.####....
###..####.
###.####..
....#....#
....##.#..
#.#.#.....
..#.#....#
###..##..#
........#.
......##.#
Tile 3607:
###..#....
....#..#..
....#.###.
......#...
.........#
##.#.###.#
##..##....
####.....#
#........#
..##..#...
Tile 1867:
#..#..#...
..#..#...#
###......#
#...#.....
.........#
..........
##.#....#.
##.#......
#.......##
...###.#..
Tile 2473:
#.....###.
..#.##...#
##..#.#...
.#.......#
........##
.....#.#.#
#...#.#.##
##..##...#
#..#.....#
##....#.#.
Tile 2707:
#.#..#.###
..#..#....
#.#..#...#
......##..
..#..#....
#..##.....
##.#..##.#
#.##.#.#..
#.#..##.#.
##.#...#.#
Tile 3533:
####...#..
##......##
##..#..###
...#.#...#
.#.#.#....
.###..##..
..#..#.#.#
......#...
#.##.#..#.
.##.####.#
Tile 3019:
##.......#
....##....
#..#.#....
........##
#........#
##....#.##
.......##.
....##...#
..#.......
#.#...#..#
Tile 2699:
#.#.#.#.##
.#...#####
#........#
...#..#.#.
.##.#..#..
#.........
#.#.#...##
.......##.
##...#...#
.#####..##
Tile 3413:
.#.##....#
.....##..#
#...#..#..
#...#.....
#..#....##
.......#..
...#.....#
......##..
#..#....#.
..#..####.
Tile 1063:
###..#.###
#.#.#.....
#.#.......
........#.
#..#......
#.##.##.##
#...#....#
#.#.......
#..##....#
.##.......
Tile 2731:
.####.##..
#.#.......
#.#..##.##
...#...#..
...#......
.....##...
##.#.#...#
##...#....
#.##..##..
.##.##..#.
Tile 2621:
#..#.#..##
##....#...
.#........
.........#
#.......##
#...###.#.
#......###
#.......#.
.....#...#
.#..#####.
Tile 1543:
.#....#.##
###.......
..#..#.###
.#.##.....
....#.#.#.
.##.##...#
.##..#....
.#........
.##.....#.
..###..#..
Tile 1973:
...#......
.#...#...#
#.#.#.#..#
...#...#..
#....#.#..
#####..##.
#..#......
#.#.......
#....#.#.#
####...##.
Tile 1549:
#.#.##.###
.###....#.
#.......#.
#......#.#
#.#...#.##
#...#...##
#.#....##.
###.#....#
##..#..#..
.###.#.###
Tile 1381:
.##.#.##..
...##.....
...#.#...#
#...#...#.
.#.#...#.#
#..#......
##........
..........
..#.....##
.#.....##.
Tile 2131:
####.##..#
####...#..
.##.#.....
#.#....##.
....#....#
#.##...#..
#.....####
#..##....#
.#.##..#.#
#####...#.
Tile 3769:
#.#.#..#.#
#.##.#....
..##..#..#
#.........
#.#....###
##...#.#..
#......##.
#......#..
..........
#..#..##.#
Tile 3001:
.###...##.
###..#....
#........#
#.....##.#
..#.#.#...
.#..#.##..
#.....####
..#.##....
#...#.##..
...#.#..#.
Tile 3299:
##...###.#
##.....###
#..#.##...
.........#
..##.....#
#..#..#...
.....#.###
.#....##..
....#.#...
####...###
Tile 2411:
...#.#....
#..##.....
.#.##..#.#
#..##..#..
#.#......#
#.........
#.###...#.
...##.....
..#......#
.#...#####
Tile 3943:
#.#.#.####
##..#.#...
#.......#.
#..#......
.#.......#
###.#.#...
.......##.
#..##....#
.....#...#
...#..#.#.
Tile 1409:
.###...###
.......#.#
#..##....#
#.####....
##..#..###
.###..#.##
#...#....#
#.....#.##
###..#.#..
##.##.###.
Tile 1459:
...#.##.##
.....#...#
...#......
.......#.#
#...#.....
...#......
##.#...#.#
#.##..#...
..#.#...##
#..#..#.#.
Tile 1637:
#.####...#
.......#.#
.#....#.##
#..#..#..#
#..#.....#
.#....#.##
#....#.###
.....###..
#...#..#.#
######....
Tile 3023:
##.#.###.#
#.#.#.#..#
#.###..#.#
...###..##
#....#...#
##.#......
.....#.#.#
##......#.
#.#......#
.#...#..#.
Tile 2203:
..#..#...#
#...#....#
#.....##.#
##.#.....#
......#..#
...#...#..
#...#....#
.........#
.##...#...
...##.#.##
Tile 1399:
#.#.###.##
.........#
.#.....#..
#.#..##...
#...#.....
#..#......
.#..##....
.....#....
.......#..
#.#.##....
Tile 1151:
##....#.##
###....##.
##...#...#
.....##...
..#..#....
.#..#.....
..........
......##..
#....#..##
#..##...#.
Tile 3187:
#.###....#
#.#...#..#
.........#
......#..#
#..#.#...#
.#...#####
#........#
.....#....
#.#.......
...#.##...
Tile 3079:
##..#.#...
...##.#...
.#..##...#
...#......
.#.#....#.
..........
#..#......
#.#..#....
..##......
..#.#....#
Tile 1693:
#..#...###
.#..#....#
#.#......#
#..###.##.
.......#..
.......###
.#....#...
....##.#..
..........
.#..###..#
Tile 1423:
.##....###
###.#.#..#
#...##...#
#.####.#.#
.......#..
.........#
#..#.#....
#.#.##....
...#.##..#
##.#.#...#
Tile 1039:
..#.#..##.
###..#..##
#..#......
....#.#..#
###....#.#
.#..#.#..#
......##..
#..###.##.
.#..#....#
#.#.#.....
Tile 1523:
#..##.#.#.
.......##.
#......#.#
#...#...##
#..##.....
#..#..#.##
..##....##
#.#...#..#
.....#...#
#....####.
Tile 2957:
#.#.###.##
....#..#..
##..#.....
#.....#..#
.......#..
....#.##.#
.....#....
.........#
......#...
##.#.#....
Tile 2711:
##.###...#
#...##....
...#......
#..#.....#
.##.#..#..
#.####...#
.###...###
#...#....#
.....#....
#.#####.#.
Tile 1009:
.##.#...##
#.#......#
....#.#.#.
#..#......
#.........
#........#
.#..#.####
..##.#####
##....#...
.#..#..###
Tile 2467:
.##....###
....####.#
#..#......
......#...
.....##.##
....#....#
..#.#....#
#...##..#.
.#.......#
#####.#..#
Tile 2383:
#...#.#..#
......#...
###.......
#..#.....#
..#....#..
#..####.##
#....#...#
#..#....##
#.....####
#.....####
Tile 3631:
###.#...##
...#.#...#
..#.#..#..
....#....#
#.#....#..
#..##..#.#
.##...#...
#.....#..#
#.##.#....
##.###....
Tile 3659:
#.#####..#
....#.##.#
#...#.#..#
...#.##..#
#.###.#.#.
#....#.###
...#.#.##.
..#.#.###.
..##.....#
.##.##..##
Tile 2857:
...##.#.#.
#...#....#
........##
#.........
....#.#...
..#.##.#..
#..##..##.
#.###.....
#.####..#.
.#.#.#.##.
Tile 1669:
#.#...#.##
#.##....##
#...#..##.
.##.#.#.#.
#........#
..#..##..#
#.........
#.#..#....
#.......#.
..##..###.
Tile 2521:
...#..####
.##..#.#..
.....#...#
.#....#...
.........#
..#.......
.#.......#
.#.......#
..#....#..
#.###.##..
Tile 3407:
.###.#.##.
#.....#...
#........#
....#.....
..##.#..##
##........
#.#....#.#
........#.
#.#...#..#
..##.#....
Tile 3931:
###.###.#.
.#.#..#..#
###.###...
.#.#.#....
#.....##.#
..#..#.#..
...#.....#
.#....#...
.#........
#.#.....##
Tile 2371:
##.##.....
#.#.###...
..##......
#.#..##...
.#..#..#.#
...####..#
#...#..#.#
.###...#.#
####......
...#..#.##
Tile 1171:
..##..#.##
#..#.....#
........##
...#.#.#.#
.#.......#
#......#.#
#......#..
..##......
.....##..#
#..#.####.
Tile 1489:
#....#..##
...#.#...#
#.#.#..#..
....#..#.#
##.#.###.#
####....##
....#....#
.#.....##.
....#.....
##.##..#.#
Tile 2971:
.####.##.#
#.#.#.#...
.....#..##
....#.....
.#.#......
.#.##.....
...#..#...
...###...#
#..##.####
##...#.###
Tile 2309:
.#...##.#.
#.#.......
.#..#..#.#
..#.##....
.....##...
.......#.#
..###....#
##.#..#.##
.........#
.###.#..##
Tile 1129:
.##..##.##
##.#.#.#..
#.##.#..##
..##..##..
#.....#.#.
..##..#...
#.#..#.#..
#..#....#.
....#..##.
.#.##...#.
Tile 3313:
###.......
###.......
.......#.#
.#.##..#.#
###.#...##
.......##.
....#..##.
..#...####
..#...###.
..#.#..###
Tile 3209:
#.....##..
##......##
#.#.......
..#...#..#
##..#.....
...#..#..#
.#...#.#..
###..##..#
#.##......
#...####.#
Tile 3583:
.##.#...#.
...#....#.
#.....#..#
.....#####
#...#.#.##
#..#......
#.#.######
#.....#...
..........
.#.#......
Tile 3169:
.####..##.
##....#.#.
.#....#..#
##........
#..#.....#
#...#....#
..........
##...#...#
#.....#..#
#...#...##
Tile 2011:
###.###..#
#.##..#.#.
#....###.#
#......##.
....#....#
#..#.#....
#........#
#....#.###
.........#
.#..######