2024 Day 20 Complete!
This commit is contained in:
parent
25557e80d0
commit
6f6dfbf4b4
141
2024/day20/input
Normal file
141
2024/day20/input
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
#############################################################################################################################################
|
||||||
|
#...#...#.................#...#.....#.....#...###...###...#.........#...###...........#.....#...#######...#.....#.............#.......###...#
|
||||||
|
#.#.#.#.#.###############.#.#.#.###.#.###.#.#.###.#.###.#.#.#######.#.#.###.#########.#.###.#.#.#######.#.#.###.#.###########.#.#####.###.#.#
|
||||||
|
#.#.#.#.#...#.........#...#.#.#.#...#.#...#.#.#...#.#...#.#.....#...#.#.....#.........#.#...#.#...###...#.#...#.#.....#.....#...#.....#...#.#
|
||||||
|
#.#.#.#.###.#.#######.#.###.#.#.#.###.#.###.#.#.###.#.###.#####.#.###.#######.#########.#.###.###.###.###.###.#.#####.#.###.#####.#####.###.#
|
||||||
|
#.#...#...#.#.#.....#.#.###.#...#.#...#.#...#.#...#.#...#.#.....#...#.......#.#...#.....#...#...#...#.#...#...#.#...#.#...#.#.....#.....#...#
|
||||||
|
#.#######.#.#.#.###.#.#.###.#####.#.###.#.###.###.#.###.#.#.#######.#######.#.#.#.#.#######.###.###.#.#.###.###.#.#.#.###.#.#.#####.#####.###
|
||||||
|
#.#.......#...#...#...#.#...#.....#...#.#.#...#...#...#.#.#.......#...#...#.#.#.#.#.#.......###...#.#.#.###.#...#.#...#...#...#...#.....#...#
|
||||||
|
#.#.#############.#####.#.###.#######.#.#.#.###.#####.#.#.#######.###.#.#.#.#.#.#.#.#.###########.#.#.#.###.#.###.#####.#######.#.#####.###.#
|
||||||
|
#.#.#...#...#...#.....#...#...###...#.#.#.#...#...#...#.#.#...###...#...#...#...#...#...###...#...#...#.....#...#...#...###...#.#.#...#.#...#
|
||||||
|
#.#.#.#.#.#.#.#.#####.#####.#####.#.#.#.#.###.###.#.###.#.#.#.#####.###################.###.#.#.###############.###.#.#####.#.#.#.#.#.#.#.###
|
||||||
|
#.#.#.#.#.#...#.....#.....#.#...#.#.#.#.#...#.....#.....#...#.#.....#.........#...#.....#...#.#.#.........#.....#...#.#...#.#.#.#...#...#...#
|
||||||
|
#.#.#.#.#.#########.#####.#.#.#.#.#.#.#.###.#################.#.#####.#######.#.#.#.#####.###.#.#.#######.#.#####.###.#.#.#.#.#.###########.#
|
||||||
|
#.#.#.#.#.......#...#.....#.#.#.#.#.#.#.###.......#.........#.#...#...#...###...#...#...#...#.#.#.......#...#...#.#...#.#.#.#...#.........#.#
|
||||||
|
#.#.#.#.#######.#.###.#####.#.#.#.#.#.#.#########.#.#######.#.###.#.###.#.###########.#.###.#.#.#######.#####.#.#.#.###.#.#.#####.#######.#.#
|
||||||
|
#.#...#.###...#.#...#.....#...#.#.#...#...#...###...#...###.#.###.#...#.#...#.........#.#...#...#...#...#...#.#.#.#.#...#...#.....#...###...#
|
||||||
|
#.#####.###.#.#.###.#####.#####.#.#######.#.#.#######.#.###.#.###.###.#.###.#.#########.#.#######.#.#.###.#.#.#.#.#.#.#######.#####.#.#######
|
||||||
|
#.#...#.....#...#...#.....#.....#.....#...#.#.#.....#.#.#...#...#.#...#.#...#.#.........#.......#.#...#...#.#.#.#.#.#.#.......#.....#.#...###
|
||||||
|
#.#.#.###########.###.#####.#########.#.###.#.#.###.#.#.#.#####.#.#.###.#.###.#.###############.#.#####.###.#.#.#.#.#.#.#######.#####.#.#.###
|
||||||
|
#.#.#.#...#.....#.###.....#.#...#.....#...#.#.#...#.#.#.#.#...#...#...#.#...#.#...#...#.....#...#...###.#...#.#.#.#.#.#...#...#.#.....#.#...#
|
||||||
|
#.#.#.#.#.#.###.#.#######.#.#.#.#.#######.#.#.###.#.#.#.#.#.#.#######.#.###.#.###.#.#.#.###.#.#####.###.#.###.#.#.#.#.###.#.#.#.#.#####.###.#
|
||||||
|
#...#...#.#.#...#...#...#.#.#.#.#.......#.#.#...#.#...#.#...#...#.....#...#...#...#.#.#...#...#.....#...#...#.#...#...#...#.#.#.#.#...#...#.#
|
||||||
|
#########.#.#.#####.#.#.#.#.#.#.#######.#.#.###.#.#####.#######.#.#######.#####.###.#.###.#####.#####.#####.#.#########.###.#.#.#.#.#.###.#.#
|
||||||
|
#.........#.#.....#...#...#.#.#...#...#.#.#...#.#.....#.......#.#...#.....#.....#...#...#.....#.#...#.#.....#.#...#.....#...#...#...#.....#.#
|
||||||
|
#.#########.#####.#########.#.###.#.#.#.#.###.#.#####.#######.#.###.#.#####.#####.#####.#####.#.#.#.#.#.#####.#.#.#.#####.#################.#
|
||||||
|
#...#.......#...#.#.......#...#...#.#.#.#.#...#.#...#.......#.#.#...#...#...#...#.....#.#...#.#.#.#...#.#...#.#.#.#.....#...#...........#...#
|
||||||
|
###.#.#######.#.#.#.#####.#####.###.#.#.#.#.###.#.#.#######.#.#.#.#####.#.###.#.#####.#.#.#.#.#.#.#####.#.#.#.#.#.#####.###.#.#########.#.###
|
||||||
|
#...#.#.......#.#...#...#.....#...#.#.#.#.#...#...#.#...#...#...#.#...#.#.###.#.#.....#.#.#...#.#.#.....#.#.#.#.#...#...#...#.........#.#.###
|
||||||
|
#.###.#.#######.#####.#.#####.###.#.#.#.#.###.#####.#.#.#.#######.#.#.#.#.###.#.#.#####.#.#####.#.#.#####.#.#.#.###.#.###.###########.#.#.###
|
||||||
|
#.....#.......#.....#.#.#...#...#...#...#...#.#...#...#.#...#.....#.#.#.#.#...#.#.....#.#.#.....#.#.###...#...#...#...###.#...#.......#.#...#
|
||||||
|
#############.#####.#.#.#.#.###.###########.#.#.#.#####.###.#.#####.#.#.#.#.###.#####.#.#.#.#####.#.###.#########.#######.#.#.#.#######.###.#
|
||||||
|
#...#...#...#.....#.#.#...#.....#.......#...#...#...#...#...#.#...#.#.#.#.#.#...#...#.#...#...#...#...#...#.......#...#...#.#...###...#.....#
|
||||||
|
#.#.#.#.#.#.#####.#.#.###########.#####.#.#########.#.###.###.#.#.#.#.#.#.#.#.###.#.#.#######.#.#####.###.#.#######.#.#.###.#######.#.#######
|
||||||
|
#.#...#...#.....#.#.#.............#...#.#.#...#...#.#.###...#.#.#.#.#.#.#.#.#.###.#.#.....#...#...#...#...#.......#.#.#.#...###...#.#.......#
|
||||||
|
#.#############.#.#.###############.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.#.#.#.#.###.#.#####.#.#####.#.###.#########.#.#.#.#.#####.#.#.#######.#
|
||||||
|
#.............#...#.#...#...#...#...#...#.#.#.#.#.#.#.....#.#.#.#.#.#.#.#...#...#.#.#...#.#...#...#.#...#.......#.#.#...#.......#...#.......#
|
||||||
|
#############.#####.#.#.#.#.#.#.#.#######.#.#.#.#.#.#####.#.#.#.#.#.#.#.#######.#.#.#.#.#.###.#.###.#.###.#####.#.#.#################.#######
|
||||||
|
#.......#...#.....#...#...#...#.#.......#.#.#.#.#.#...#...#.#.#.#.#.#.#.....###.#.#.#.#.#...#.#...#...###.....#...#...#.........#...#...#...#
|
||||||
|
#.#####.#.#.#####.#############.#######.#.#.#.#.#.###.#.###.#.#.#.#.#.#####.###.#.#.#.#.###.#.###.###########.#######.#.#######.#.#.###.#.#.#
|
||||||
|
#.....#.#.#.......#.....#.....#.#.......#.#.#.#.#...#.#.#...#.#.#.#.#.#...#...#.#.#.#.#.#...#...#.#.........#.#...###.#.......#.#.#.....#.#.#
|
||||||
|
#####.#.#.#########.###.#.###.#.#.#######.#.#.#.###.#.#.#.###.#.#.#.#.#.#.###.#.#.#.#.#.#.#####.#.#.#######.#.#.#.###.#######.#.#.#######.#.#
|
||||||
|
#...#.#.#...........#...#.#...#.#.......#.#.#.#.#...#.#...###.#.#...#.#.#.#...#.#.#.#.#.#.....#...#.......#.#...#.....#.......#...###.....#.#
|
||||||
|
#.#.#.#.#############.###.#.###.#######.#.#.#.#.#.###.#######.#.#####.#.#.#.###.#.#.#.#.#####.###########.#.###########.#############.#####.#
|
||||||
|
#.#...#...........###...#.#...#.........#.#.#...#...#.#.......#.....#.#.#.#.#...#.#.#.#.....#...#.........#...........#.....#...#...#.#.....#
|
||||||
|
#.###############.#####.#.###.###########.#.#######.#.#.###########.#.#.#.#.#.###.#.#.#####.###.#.###################.#####.#.#.#.#.#.#.#####
|
||||||
|
#.#...#.........#.#...#...###...........#.#...#...#.#.#.#.....#.....#...#.#.#.#...#.#.#.....#...#.#.......#.........#.#...#...#...#...#.....#
|
||||||
|
#.#.#.#.#######.#.#.#.#################.#.###.#.#.#.#.#.#.###.#.#########.#.#.#.###.#.#.#####.###.#.#####.#.#######.#.#.#.#################.#
|
||||||
|
#...#...#...#...#...#...###...#.........#.....#.#...#.#.#.#...#.........#...#.#...#.#.#.#...#...#.#.#.....#.#.......#...#.#...#...#.........#
|
||||||
|
#########.#.#.#########.###.#.#.###############.#####.#.#.#.###########.#####.###.#.#.#.#.#.###.#.#.#.#####.#.###########.#.#.#.#.#.#########
|
||||||
|
###.......#...#...#...#.....#.#...........###...#...#.#.#.#.#.....#...#...###.....#.#.#.#.#.....#...#.#...#.#...........#.#.#.#.#.#.........#
|
||||||
|
###.###########.#.#.#.#######.###########.###.###.#.#.#.#.#.#.###.#.#.###.#########.#.#.#.###########.#.#.#.###########.#.#.#.#.#.#########.#
|
||||||
|
#...#...........#...#...#...#.....#.....#...#.....#.#.#.#.#.#.###.#.#.#...#...#...#...#.#...#...#...#...#...#...........#.#.#.#.#.....#.....#
|
||||||
|
#.###.#################.#.#.#####.#.###.###.#######.#.#.#.#.#.###.#.#.#.###.#.#.#.#####.###.#.#.#.#.#########.###########.#.#.#.#####.#.#####
|
||||||
|
#.....#...............#...#.#...#...#...#...#...###.#.#.#.#.#.#...#.#.#.....#...#.###...#...#.#...#...###...#...........#...#...###...#.....#
|
||||||
|
#######.#############.#####.#.#.#####.###.###.#.###.#.#.#.#.#.#.###.#.###########.###.###.###.#######.###.#.###########.###########.#######.#
|
||||||
|
#.....#.......#.....#.#...#.#.#.#...#...#.#...#...#...#...#...#...#.#...#.....#...#...#...###.......#.#...#...........#...###.......#...#...#
|
||||||
|
#.###.#######.#.###.#.#.#.#.#.#.#.#.###.#.#.#####.###############.#.###.#.###.#.###.###.###########.#.#.#############.###.###.#######.#.#.###
|
||||||
|
#.#...###...#...#...#.#.#.#.#.#...#...#...#.#.....###.....###.....#.#...#...#...###...#...#...#...#.#.#.............#...#...#...#...#.#.#...#
|
||||||
|
#.#.#####.#.#####.###.#.#.#.#.#######.#####.#.#######.###.###.#####.#.#####.#########.###.#.#.#.#.#.#.#############.###.###.###.#.#.#.#.###.#
|
||||||
|
#.#...#...#...###...#.#.#.#...#.......#...#.#.###...#.#...#...#...#.#.#...#.........#.#...#.#...#...#...............###.....###...#.#.#.#...#
|
||||||
|
#.###.#.#####.#####.#.#.#.#####.#######.#.#.#.###.#.#.#.###.###.#.#.#.#.#.#########.#.#.###.#######################################.#.#.#.###
|
||||||
|
#...#.#.....#...#...#...#.......#.......#...#.....#...#...#...#.#...#.#.#.#...#...#.#.#.#...#...#.............................###...#.#.#...#
|
||||||
|
###.#.#####.###.#.###############.#######################.###.#.#####.#.#.#.#.#.#.#.#.#.#.###.#.#.###########################.###.###.#.###.#
|
||||||
|
###.#.###...#...#.....#...#.......#...............#...#...#...#.#.....#.#...#...#.#.#.#.#.#...#.#.#.............#...#...#...#...#.....#...#.#
|
||||||
|
###.#.###.###.#######.#.#.#.#######.#############.#.#.#.###.###.#.#####.#########.#.#.#.#.#.###.#.#.###########.#.#.#.#.#.#.###.#########.#.#
|
||||||
|
#...#.....#...#...#...#.#.#.#.....#.............#...#...###.#...#.....#.....#.....#.#...#...###...#...........#.#.#...#.#.#.....###.....#...#
|
||||||
|
#.#########.###.#.#.###.#.#.#.###.#############.###########.#.#######.#####.#.#####.#########################.#.#.#####.#.#########.###.#####
|
||||||
|
#.#...#...#.#...#...#...#.#.#...#.....#...#...#...........#.#.#.......#.....#.......#...#...###...###...#.....#...#...#...#.......#...#.....#
|
||||||
|
#.#.#.#.#.#.#.#######.###.#.###.#####.#.#.#.#.###########.#.#.#.#######.#############.#.#.#.###.#.###.#.#.#########.#.#####.#####.###.#####.#
|
||||||
|
#...#...#.#...#...#...#...#.#...#...#...#.#.#.#...........#...#.......#.........#.....#.#.#.#...#.....#...#.........#.....#.....#.###.#.....#
|
||||||
|
#########.#####.#.#.###.###.#.###.#.#####.#.#.#.#####################.#########.#.#####.#.#.#.#############.#############.#####.#.###.#.#####
|
||||||
|
#.........#...#.#.#.###.#...#.....#.#...#...#...#...#...#...#.........#.....#...#.....#.#.#.#...#.........#...#...........#...#.#...#.#.....#
|
||||||
|
#.#########.#.#.#.#.###.#.#########.#.#.#########.#.#.#.#.#.#.#########.###.#.#######.#.#.#.###.#.#######.###.#.###########.#.#.###.#.#####.#
|
||||||
|
#.#.....#...#.#.#.#...#...#.........#.#.#.........#...#...#.#.......#...###...#...#...#...#.....#.###...#...#.#.............#.#...#...#...#.#
|
||||||
|
#.#.###.#.###.#.#.###.#####.#########.#.#.#################.#######.#.#########.#.#.#############.###.#.###.#.###############.###.#####.#.#.#
|
||||||
|
#.#...#...###...#.....###...#...#.....#...#################......S#...#...#...#.#.#.........#.....#...#.....#.#...............#...#.....#.#.#
|
||||||
|
#.###.###################.###.#.#.#####################################.#.#.#.#.#.#########.#.#####.#########.#.###############.###.#####.#.#
|
||||||
|
#...#...###...#...###.....#...#...#...#############################...#.#...#.#.#.#.....###...#...#...........#...#...###...###.#...#...#...#
|
||||||
|
###.###.###.#.#.#.###.#####.#######.#.#############################.#.#.#####.#.#.#.###.#######.#.###############.#.#.###.#.###.#.###.#.#####
|
||||||
|
#...#...#...#...#.....#...#.#.......#.#######################.......#.#.....#.#.#.#...#.#...###.#.#.............#...#.....#.....#.....#.#...#
|
||||||
|
#.###.###.#############.#.#.#.#######.#######################.#######.#####.#.#.#.###.#.#.#.###.#.#.###########.#######################.#.#.#
|
||||||
|
#.....###.......#...#...#...#.......#.#.....#################...#...#.....#.#...#.....#...#.....#.#.#.........#.........................#.#.#
|
||||||
|
###############.#.#.#.#############.#.#.###.###################.#.#.#####.#.#####################.#.#.#######.###########################.#.#
|
||||||
|
###...#...#...#...#...#.............#...#...#E###...#####...###...#.#.....#.............#.......#.#...#.......###...#...#...#...#...#...#.#.#
|
||||||
|
###.#.#.#.#.#.#########.#################.###.###.#.#####.#.#######.#.#################.#.#####.#.#####.#########.#.#.#.#.#.#.#.#.#.#.#.#.#.#
|
||||||
|
#...#...#...#.#.......#.................#.....#...#...#...#...###...#.###...#...#...###...###...#...###.....#...#.#...#.#.#...#...#...#...#.#
|
||||||
|
#.###########.#.#####.#################.#######.#####.#.#####.###.###.###.#.#.#.#.#.#########.#####.#######.#.#.#.#####.#.#################.#
|
||||||
|
#.#...#.....#...#...#...#.........#.....#.....#.#...#.#.....#.#...#...#...#.#.#.#.#.......#...#...#.........#.#.#.#.....#...#.......#...#...#
|
||||||
|
#.#.#.#.###.#####.#.###.#.#######.#.#####.###.#.#.#.#.#####.#.#.###.###.###.#.#.#.#######.#.###.#.###########.#.#.#.#######.#.#####.#.#.#.###
|
||||||
|
#.#.#.#...#.......#...#...#.....#...#...#.#...#.#.#...#...#.#.#...#...#...#.#.#...#...#...#.....#.........#...#...#.#.......#.....#.#.#.#...#
|
||||||
|
#.#.#.###.###########.#####.###.#####.#.#.#.###.#.#####.#.#.#.###.###.###.#.#.#####.#.#.#################.#.#######.#.###########.#.#.#.###.#
|
||||||
|
#.#.#.....###...###...#.....###.......#...#.....#...#...#...#...#.#...#...#.#...#...#...#.......###.......#.#.....#.#.#...#...#...#...#.....#
|
||||||
|
#.#.#########.#.###.###.###########################.#.#########.#.#.###.###.###.#.#######.#####.###.#######.#.###.#.#.#.#.#.#.#.#############
|
||||||
|
#...#...###...#.....#...###.............#.......#...#.......#...#.#...#...#.#...#.......#.....#...#...#.....#...#.#...#.#...#.#.....#...#...#
|
||||||
|
#####.#.###.#########.#####.###########.#.#####.#.#########.#.###.###.###.#.#.#########.#####.###.###.#.#######.#.#####.#####.#####.#.#.#.#.#
|
||||||
|
#.....#.....#.....#...#...#.........###.#.#...#...#.....#...#...#...#.....#...#.........#.....#...#...#.#.......#.....#.....#.#...#.#.#.#.#.#
|
||||||
|
#.###########.###.#.###.#.#########.###.#.#.#.#####.###.#.#####.###.###########.#########.#####.###.###.#.###########.#####.#.#.#.#.#.#.#.#.#
|
||||||
|
#...........#.###.#.#...#.........#...#...#.#...###...#...#.....###...........#.......#...#...#...#.....#.........###.......#...#...#.#.#.#.#
|
||||||
|
###########.#.###.#.#.###########.###.#####.###.#####.#####.#################.#######.#.###.#.###.###############.###################.#.#.#.#
|
||||||
|
###.........#.#...#.#...#...#...#.#...#...#.#...#...#.....#...#...###...#...#.#.......#.....#.#...#...#.........#.........###...###...#.#.#.#
|
||||||
|
###.#########.#.###.###.#.#.#.#.#.#.###.#.#.#.###.#.#####.###.#.#.###.#.#.#.#.#.#############.#.###.#.#.#######.#########.###.#.###.###.#.#.#
|
||||||
|
#...#...#...#.#.....###...#...#.#.#...#.#.#.#...#.#.....#.#...#.#.#...#.#.#...#.....#...#.....#...#.#.#.......#.#...#...#...#.#...#...#...#.#
|
||||||
|
#.###.#.#.#.#.#################.#.###.#.#.#.###.#.#####.#.#.###.#.#.###.#.#########.#.#.#.#######.#.#.#######.#.#.#.#.#.###.#.###.###.#####.#
|
||||||
|
#.....#...#...#...#######...#...#.....#.#.#.#...#...#...#.#.###.#.#...#.#.....#.....#.#.#.....#...#.#.###...#.#.#.#.#.#.....#.#...#...#...#.#
|
||||||
|
###############.#.#######.#.#.#########.#.#.#.#####.#.###.#.###.#.###.#.#####.#.#####.#.#####.#.###.#.###.#.#.#.#.#.#.#######.#.###.###.#.#.#
|
||||||
|
#...#...#.......#...###...#...#...#...#.#...#.#.....#.#...#...#.#...#.#.#...#.#...#...#.#...#.#...#.#.#...#...#...#.#.........#.....#...#.#.#
|
||||||
|
#.#.#.#.#.#########.###.#######.#.#.#.#.#####.#.#####.#.#####.#.###.#.#.#.#.#.###.#.###.#.#.#.###.#.#.#.###########.#################.###.#.#
|
||||||
|
#.#...#.#.....#...#...#.........#...#.#...#...#...#...#...#...#.#...#.#.#.#...#...#.#...#.#.#...#.#.#.#...........#...#...#...#...#...###...#
|
||||||
|
#.#####.#####.#.#.###.###############.###.#.#####.#.#####.#.###.#.###.#.#.#####.###.#.###.#.###.#.#.#.###########.###.#.#.#.#.#.#.#.#########
|
||||||
|
#.#...#.......#.#...#...#...###.......#...#...#...#...#...#...#.#.....#.#.....#.#...#.....#.#...#...#...#.....#...#...#.#.#.#...#.#.........#
|
||||||
|
#.#.#.#########.###.###.#.#.###.#######.#####.#.#####.#.#####.#.#######.#####.#.#.#########.#.#########.#.###.#.###.###.#.#.#####.#########.#
|
||||||
|
#.#.#...#...#...###...#...#.....#.....#.....#.#.#...#.#.....#.#.###.....#...#.#...#.........#.......#...#.###...###.....#.#.....#...#.....#.#
|
||||||
|
#.#.###.#.#.#.#######.###########.###.#####.#.#.#.#.#.#####.#.#.###.#####.#.#.#####.###############.#.###.###############.#####.###.#.###.#.#
|
||||||
|
#.#.#...#.#.#...#.....#...#.....#.###...#...#.#...#.#.#.....#...#...#...#.#.#.....#...#.......#...#.#...#.....#.........#.#...#...#...###...#
|
||||||
|
#.#.#.###.#.###.#.#####.#.#.###.#.#####.#.###.#####.#.#.#########.###.#.#.#.#####.###.#.#####.#.#.#.###.#####.#.#######.#.#.#.###.###########
|
||||||
|
#...#...#.#.....#.....#.#...###.#.....#.#...#...#...#.#.###.......#...#.#.#.#...#.#...#.#.....#.#...###.#...#...#...#...#.#.#...#...........#
|
||||||
|
#######.#.###########.#.#######.#####.#.###.###.#.###.#.###.#######.###.#.#.#.#.#.#.###.#.#####.#######.#.#.#####.#.#.###.#.###.###########.#
|
||||||
|
#.......#.#...#.......#.###.....#.....#.#...#...#.#...#...#.......#.###...#.#.#...#.....#.....#.......#.#.#.#...#.#...###.#...#.#...........#
|
||||||
|
#.#######.#.#.#.#######.###.#####.#####.#.###.###.#.#####.#######.#.#######.#.###############.#######.#.#.#.#.#.#.#######.###.#.#.###########
|
||||||
|
#.#.......#.#.#.......#.#...#...#...#...#.#...#...#...#...#.......#...#.....#...........#.....#...#...#...#.#.#.#.#...#...#...#.#...........#
|
||||||
|
#.#.#######.#.#######.#.#.###.#.###.#.###.#.###.#####.#.###.#########.#.###############.#.#####.#.#.#######.#.#.#.#.#.#.###.###.###########.#
|
||||||
|
#...#.......#.........#.#...#.#...#.#.#...#.#...#...#.#...#.#...#...#.#...#...#...#...#.#.#...#.#...#...#...#.#.#...#.#.....###.....#.....#.#
|
||||||
|
#####.#################.###.#.###.#.#.#.###.#.###.#.#.###.#.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.###.#.#####.#############.#.###.#.#
|
||||||
|
#.....#...#...........#...#...#...#.#.#.#...#...#.#...#...#.#.#.#.#.#...#.#.#...#.#.#...#...#.#.....#.#.#.#...#.#...#...........###...#...#.#
|
||||||
|
#.#####.#.#.#########.###.#####.###.#.#.#.#####.#.#####.###.#.#.#.#.###.#.#.#####.#.#########.#####.#.#.#.#.###.#.#.###########.#######.###.#
|
||||||
|
#.#...#.#.#.#.........#...###...#...#.#.#.#...#.#...#...###...#.#.#.#...#.#...#...#.#.........#.....#.#.#...#...#.#...#...#...#.......#.....#
|
||||||
|
#.#.#.#.#.#.#.#########.#####.###.###.#.#.#.#.#.###.#.#########.#.#.#.###.###.#.###.#.#########.#####.#.#####.###.###.#.#.#.#.#######.#######
|
||||||
|
#...#...#...#.........#.#.....#...#...#.#...#...###.#.....###...#.#.#...#...#.#...#.#.....#...#.......#.....#.#...#...#.#.#.#...#...#.......#
|
||||||
|
#####################.#.#.#####.###.###.###########.#####.###.###.#.###.###.#.###.#.#####.#.#.#############.#.#.###.###.#.#.###.#.#.#######.#
|
||||||
|
#.....................#.#...#...###...#.#...#.......#...#...#.#...#...#.#...#...#.#...###...#...#...#...#...#.#...#...#.#.#...#.#.#.#.....#.#
|
||||||
|
#.#####################.###.#.#######.#.#.#.#.#######.#.###.#.#.#####.#.#.#####.#.###.#########.#.#.#.#.#.###.###.###.#.#.###.#.#.#.#.###.#.#
|
||||||
|
#.........#...#...#...#.###.#...#.....#...#.#.....#...#.#...#.#.....#.#.#...#...#.#...#.........#.#...#.#...#.#...#...#.#.#...#.#.#...###.#.#
|
||||||
|
#########.#.#.#.#.#.#.#.###.###.#.#########.#####.#.###.#.###.#####.#.#.###.#.###.#.###.#########.#####.###.#.#.###.###.#.#.###.#.#######.#.#
|
||||||
|
#.........#.#...#...#.#.#...#...#.......#...#.....#...#.#...#.#.....#.#.#...#...#.#...#.#.......#.....#.#...#...###...#.#.#.#...#.......#.#.#
|
||||||
|
#.#########.#########.#.#.###.#########.#.###.#######.#.###.#.#.#####.#.#.#####.#.###.#.#.#####.#####.#.#.###########.#.#.#.#.#########.#.#.#
|
||||||
|
#.....#.....#.........#.#.#...#.........#.#...#...#...#.#...#.#.....#.#.#.......#.#...#...#.....#.....#.#.....#...#...#.#.#.#...#.......#.#.#
|
||||||
|
#####.#.#####.#########.#.#.###.#########.#.###.#.#.###.#.###.#####.#.#.#########.#.#######.#####.#####.#####.#.#.#.###.#.#.###.#.#######.#.#
|
||||||
|
#.....#.#.....#...#...#.#.#...#.#...#...#.#.#...#.#.#...#.#...#...#.#.#.....#.....#.....#...#...#.....#.#...#...#.#...#.#.#.#...#.......#.#.#
|
||||||
|
#.#####.#.#####.#.#.#.#.#.###.#.#.#.#.#.#.#.#.###.#.#.###.#.###.#.#.#.#####.#.#########.#.###.#.#####.#.#.#.#####.###.#.#.#.#.#########.#.#.#
|
||||||
|
#.......#.......#...#...#.....#...#...#...#...###...#.....#.....#...#.......#...........#.....#.......#...#.......###...#...#...........#...#
|
||||||
|
#############################################################################################################################################
|
53
2024/day20/main.go
Normal file
53
2024/day20/main.go
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
h "git.bullercodeworks.com/brian/adventofcode/helpers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
inp := h.StdinToStringSlice()
|
||||||
|
solve(inp)
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
N = h.Coordinate{X: 0, Y: -1}
|
||||||
|
E = h.Coordinate{X: 1, Y: 0}
|
||||||
|
S = h.Coordinate{X: 0, Y: 1}
|
||||||
|
W = h.Coordinate{X: -1, Y: 0}
|
||||||
|
Dirs = []h.Coordinate{N, E, S, W}
|
||||||
|
)
|
||||||
|
|
||||||
|
func solve(inp []string) {
|
||||||
|
m := h.StringSliceToCoordByteMap(inp)
|
||||||
|
start, _ := m.FindFirst('S')
|
||||||
|
// Find the path through the map
|
||||||
|
queue, dist := []h.Coordinate{start}, map[h.Coordinate]int{start: 0}
|
||||||
|
for len(queue) > 0 {
|
||||||
|
p := queue[0]
|
||||||
|
queue = queue[1:]
|
||||||
|
for _, d := range Dirs {
|
||||||
|
n := p.Add(d)
|
||||||
|
if _, ok := dist[n]; !ok && m.Get(n) != '#' {
|
||||||
|
queue, dist[n] = append(queue, n), dist[p]+1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part1, part2 := 0, 0
|
||||||
|
for p1 := range dist {
|
||||||
|
for p2 := range dist {
|
||||||
|
d := p1.Distance(p2)
|
||||||
|
if d <= 20 && dist[p2] >= dist[p1]+d+100 {
|
||||||
|
if d <= 2 {
|
||||||
|
part1++
|
||||||
|
}
|
||||||
|
part2++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("# Part 1")
|
||||||
|
fmt.Println(part1)
|
||||||
|
fmt.Println("\n# Part 2")
|
||||||
|
fmt.Println(part2)
|
||||||
|
}
|
15
2024/day20/testinput
Normal file
15
2024/day20/testinput
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
###############
|
||||||
|
#...#...#.....#
|
||||||
|
#.#.#.#.#.###.#
|
||||||
|
#S#...#.#.#...#
|
||||||
|
#######.#.#.###
|
||||||
|
#######.#.#...#
|
||||||
|
#######.#.###.#
|
||||||
|
###..E#...#...#
|
||||||
|
###.#######.###
|
||||||
|
#...###...#...#
|
||||||
|
#.#####.#.###.#
|
||||||
|
#.#...#.#.#...#
|
||||||
|
#.#.#.#.#.#.###
|
||||||
|
#...#...#...###
|
||||||
|
###############
|
Loading…
Reference in New Issue
Block a user