day 21: problem 1 solution
another unsatisfying one where i needed a visual hint to grok what i should be doing. a bunch of graph building stuff that wasn't needed for the part 1 solution at all.
This commit is contained in:
		
							
								
								
									
										131
									
								
								21/input
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								21/input
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,131 @@
 | 
			
		||||
...................................................................................................................................
 | 
			
		||||
..............#...#........#...............#.#.......#....##...........#.#..#......#.....#.........#..##...........................
 | 
			
		||||
.#..##..##..#......#.#.#...##......###...##......#.#..#...................#.....#..........#..#................#...#..........#....
 | 
			
		||||
.....................#..#.......#.....##.........#.......................................#........#....#.#..........#.#......#.#...
 | 
			
		||||
......##...#.....#.......#...#..###..........#..........#......................#........#.............#.....#........#....#........
 | 
			
		||||
.................##.................#...#.........#................................#........#...........#............#........#....
 | 
			
		||||
..............#.#....#........##.....##..........#.............##.............#...#......#..##..........#.........#.....#...#..#...
 | 
			
		||||
..#....#.......#...##..#......#.........#.#..#....#.#..............#........#...#...#...............#.#.....#..#..##......#...#....
 | 
			
		||||
...#......##...##..#...#..........#...#..........#..............#...#..........#..#..#..#........#.#.#.#.#...........###...........
 | 
			
		||||
.#.#.#...#.#...##............................................#......................#...#......#......##.#.........................
 | 
			
		||||
.##.#.........#...#..................##...........#............#..................###...#...........#.................#....#.......
 | 
			
		||||
.....................#...#.#................#................#.#........................#...#...##....##....#.#...#.........#...#..
 | 
			
		||||
...#.......#...#.........................#.#..................#........##..........................#......##....##............#....
 | 
			
		||||
......................#.....................#...............#.......#.#...................#...............#...#........#.##......#.
 | 
			
		||||
............................#..........................#........#....#.##..#.......#.##..#...#.#..#...............#.#..#....#......
 | 
			
		||||
.......................................................#.#..#.#....#......................#............#....#..#.......#.........#.
 | 
			
		||||
.....##........#...............#.......#...............#.#..........##..#...................#................#..#...#.#....#...###.
 | 
			
		||||
....#.....................##................#.......#.......#...#.#...#...............#................#...............##..........
 | 
			
		||||
....#........#..#.......#.#.#........................#.#...........#.......#..#.........#....#.......#........#.#.#................
 | 
			
		||||
......###.....#..#...........#.....#..#..#........#......#.#........###.....##............#..#...........#.........................
 | 
			
		||||
.....#...........#...................#..#..........#..#...###.#.........#.##...............#..##..........#.........#..............
 | 
			
		||||
.#.........#....#............#.##..........................##.....#........#....#.............#.......#...#..............##.#......
 | 
			
		||||
.#..#...#.......#...#.......##.......#.#.............................#...#...#.#...........#...#.................#.........#.#.#...
 | 
			
		||||
...#....................#.....##..............#.................#.................#............#......#....#.......#.........#.....
 | 
			
		||||
.......#...#.............#.##...#.#...................#.....#..#........#................................#.............#..#...##...
 | 
			
		||||
...#.###..............#....#........................#......#...#.........#......#.#....................#........#...#...#.......#..
 | 
			
		||||
............#.#...#...........................#....###.###...#........#..#........#...................##.....###......#........#...
 | 
			
		||||
.....#...#................#.##..##..................#....#.........#............##...................##................#.....#.....
 | 
			
		||||
.#....#..............##...#..................#......#..........##.#....#......##.#...............#....##..............#....#.......
 | 
			
		||||
....#.#.##...........##.....#...........#.........#...#........#..#.......#......#................#.#...#....#...#.................
 | 
			
		||||
.......#...#...#...#..#.......#..........#..................#..#........#..#.#.....#.#.....................##......................
 | 
			
		||||
.....##.........#.......##...#.............#.##.#.#...#.##.#...#......#...#....#.......#..#.........#...........#.##.###.#.....#...
 | 
			
		||||
...................#.#.......................#.....#.#......#.....##...#.#....#..#..........#...........#..##....#...#.......#.#...
 | 
			
		||||
.....#..#..#.........#...#.#.........#...#.#...##...#......##........#...............#.......#................#.....#...#.#........
 | 
			
		||||
........#.....###.....................#.........#.........#.........#....##............#..##.............#.........#..#.......#....
 | 
			
		||||
.#.........#....##..##.................#...#................................#...#.....#.........#.......#............#....#......#.
 | 
			
		||||
..#.........#.......#..................#..#.#...#........#.#.......#...##.#........#..........#.#..........#..#.....#.........#....
 | 
			
		||||
..#...............#...................##.#.......#...#..........#....................##.........#.................#..#......##..#..
 | 
			
		||||
.#........#.......#............##...........##........#.......................#................#....................#...###......#.
 | 
			
		||||
........###..........#..............#.............#..#.#.#............##...............#........#...#........#...................#.
 | 
			
		||||
...#............................#...##.##........#......#..#...................#.#.....#...#.##...............#........#...#.......
 | 
			
		||||
..#...##....................#.....##......#.......#..........#......#.........#...#..............#..............#..................
 | 
			
		||||
.....#..#....................#....###.....#..#.............#...#....#................#.....#.....................#........#........
 | 
			
		||||
.....#.#...#.....#..............##............#....##.#....#.#........##...........#....#.........................#....#......##...
 | 
			
		||||
....#..#.....##...........#.#.#.#............#....#.....#.........#........................##.......#.#..............##...#........
 | 
			
		||||
...............#..............#................................#....#........#.......#.......##......#.#............#......#....#..
 | 
			
		||||
.#......#....##........#.............#..#.#.............#...#..#.........#.........#................#..................#...........
 | 
			
		||||
.........#..............#....#......#.....##......#............#....#.........#....#...................#....#.........#......#..#..
 | 
			
		||||
..............................#....#.#........#.#.....#..#.................#....#...#..........#............##.......#.#.#....#....
 | 
			
		||||
.#..................#....#..#.......#.##..............#...#.......#................#...............................................
 | 
			
		||||
.#..##.........................#.....###......#....#......#.....#............#.#......##......##......##....#..........##.....#....
 | 
			
		||||
..........................##.#.....#..........................................#.#..#....#..#..................#...........#........
 | 
			
		||||
..##.....#.......#....#.........#..........#....................#.........#........###........................#..........#.........
 | 
			
		||||
.#.#...............#..........#.......#.....#....##.#..#.##...............#...#...#.#......#.......#.......#.#.............#....##.
 | 
			
		||||
..................#...............##.........##..#........#..#..........#.....................#............................#.......
 | 
			
		||||
.....#................#...##.......##.........#.....#.#....#.#........#...#..#....#..............#..#....#....#....#...............
 | 
			
		||||
..##.#........#...............#.#..#...................##...#......#.#...#..#.....##.................##...#.#...................#..
 | 
			
		||||
...#...............#......#.....#.......#......#.........#...#......#...#..#....#..#......#.......#.......#...#.##.#...........##..
 | 
			
		||||
..............##..........##..........#..##...............#...........##..#..#..#.#.......#...#.............#......................
 | 
			
		||||
..........#.#........................#...#.#..#.#...##..#.#.#.#.......#....#.#.#..............#...#...#........###..##...........#.
 | 
			
		||||
......................#...#.#..##.....#....#.....###.#..#.....#..........#........#...........##...#..#...........##..#............
 | 
			
		||||
..................................####.#..............#.................#........#.#............##......#.#..........#.............
 | 
			
		||||
..................#..........#.............................#...........#..#..#......#................#.......##...##..#............
 | 
			
		||||
....................#...#....#.#.#.##......#................#.................#...........#....#..........#....#...##.###..........
 | 
			
		||||
.................#.......#...#............###.###..#.......#......#.......#..##......#.#.....#.....................#...............
 | 
			
		||||
.................................................................S.................................................................
 | 
			
		||||
.......##...........#.........###.......#....###.#.#....#.#....#....#........#.......#...#...#.#.........#...................#.....
 | 
			
		||||
.......#...............#............#...#..#.......##...#...#.#............#.............#......##..........#..............#.......
 | 
			
		||||
.......##.........#.....................##...#...#.................#...#.......#..####......#.....#..............#..##.............
 | 
			
		||||
........#..#.............#.#..##..............#...#.............#.....#......#...#.#.......#...............##...##.................
 | 
			
		||||
.........#..#...#..#.#..#..#...................##......#.....#..#...##..............#......#..........#.##...#.#.##.#..............
 | 
			
		||||
..............#..........#....................................#.........#.......#..#............##................#................
 | 
			
		||||
...........#...#.....#.........#....#..###....#...#.......#....#...............##.....#.......#.#.....#.#....#.#..#................
 | 
			
		||||
..#...................#........###..............#.#................#...###...##.............#.###......#...#...#.....#..........#..
 | 
			
		||||
.#.#............#.....#....###......................................#..........................#..................#................
 | 
			
		||||
................#..#...#................#.................##.................##..........#.......#...#.............#...............
 | 
			
		||||
.....##...........#....#.......#......#.#.....#.....#................#.....#.........#..#.................#........#........#......
 | 
			
		||||
.#.#.............#..#.#..............#.....#..#.#.....#..#......#.........#.....#.#......#..#.......#.#......##............#..#....
 | 
			
		||||
...................#............#....#...........#........#...................#.....##..............#........###...............#...
 | 
			
		||||
......###..........###.#.......#.................................................#..#.........#.#...#.........#.#..........#.#.....
 | 
			
		||||
..#.................#..#..#...#............#...#...#..##.#....##..#..................##.....#......#.........................#...#.
 | 
			
		||||
......................#.#.....#.#...#.......##...........#...#....#.............#.......#.............#.#.#.#......................
 | 
			
		||||
......#..#.#..........#....#.........#......#................#.........##.#....#.......#........#.#....................#......#....
 | 
			
		||||
..#....#....#...............#..........#...#.#......#...................#.........#..#.#......#..#.........................##....#.
 | 
			
		||||
..............#..........##......#.##...#...#.#................#...#..#.......#.#.....#........#...###..##.........#..##.........#.
 | 
			
		||||
........##...........................##.......#.#..................#........#.......#.#........#.........................##....#...
 | 
			
		||||
..#.#...........#.......................#.#.....#....#.....#...............####...#..............#...#....................#.#......
 | 
			
		||||
.......#...#....#.#.......#####...##.....#.#.......#....#.#........#................................#.##..........##....#..#.......
 | 
			
		||||
.........#.....#................##.#..................#.....................#...#................#.###.#.......###....#............
 | 
			
		||||
............#.#....#........#....#..................#...##.............#............#.......#.....#..#............##...............
 | 
			
		||||
....#.....#..........#..............#...#...#........##.....#.#....#....#........##.............................#.#.......#........
 | 
			
		||||
..#..#.#.......#.................#................................#......##.#..#..............#.#................#...#.#...........
 | 
			
		||||
.....#.....#........................#..#................#......#.......#.........###.#.#.........#.........#.....#.......#.........
 | 
			
		||||
.......#.......................................#.......#...............#.#..###...#.#.##.......#...........#.#.....#.##........#...
 | 
			
		||||
......##.........#.................................#.........#........##.#................#.#...#.............#...#..#........#....
 | 
			
		||||
......#.....#.#.......#...........#..#...........#.........#..#.#.......#.........##.....#....#.#...............#...#...#....#...#.
 | 
			
		||||
..#...#.#....#....#..............................#..#...#.......#.#.#..##..................#...............#......#..###..#.#......
 | 
			
		||||
.....#...#..#......#.....##...............#..........#..#.#####.......#...........#...................#.....#...#.........#..#.#...
 | 
			
		||||
.................#.......#..................#........#.......##...##.#....#.#.............#.............#....#....#................
 | 
			
		||||
...........####..#.....#....#.............#.......#...#..#.....#.............#...#....#.............#.#....#.#.............#.......
 | 
			
		||||
...#..#..#...#...#.#.....#.......................#....#..###.###.....#.........#....................#....#..#............#.....#...
 | 
			
		||||
.#.##....##...#......#.#.....#......................#.##..................#........#..#................#.#.......#.............#...
 | 
			
		||||
....##........#.......#..#..#............#..#..#..#...#......###..#..#..#...##...............................#.#........#......#.#.
 | 
			
		||||
..#..#..........#..........#..#.#.............#.....#...........#.##.......#............................#...........#...#..........
 | 
			
		||||
..#.#..#...#....#.....#.....#...#................#.....#.....#....#..#...#..#....#....#.....................#....#.................
 | 
			
		||||
.......#........#...#.............#.................#...#.#.....#.#....#..........#......................#..#............#.........
 | 
			
		||||
....#........#........#..............#.........................#...................#..........#.........#..#.........#.............
 | 
			
		||||
................#........#.........#............................#.#.............#..##.......#......#..#.................#......#.#.
 | 
			
		||||
..#.....#.........#...#..#.#.........................#...#...#...........#.....#...........#........#.............#.....#........#.
 | 
			
		||||
....#...#....#......#....#...#..#.................#...##.....#.#............................##...#...#..##.#.....................#.
 | 
			
		||||
...#..##...............#............................#...........#......#.#.....#............#........#.##................#.........
 | 
			
		||||
................#..#.............#..#..............#.#....#...#.#...#...#.#.##.............................#..#...........#........
 | 
			
		||||
.......#.......#....###............#.#.#.....................#.#..#....#.................##.....#.#..........##..#......#..........
 | 
			
		||||
.......#..........##.#.......#.##...#...............##.....#..........#................#............#...#........#........#........
 | 
			
		||||
...###.#.............................#.....#.#............##..#...#.....###..........#...............................#.....#....#..
 | 
			
		||||
....###.#...#.......#.##........#......#..##.#..........#.#...#.#....#.#..............##....#..#...#...........#...#.#..#..........
 | 
			
		||||
.....#....#.#..##.....#..........#..#...##..............#.......#.......#.............#..#.....#.......#.....#...##...###.......#..
 | 
			
		||||
........##...#...##..#.#.....#..........................#.#.#..#..#...................#....#....#..#....#..........#....##.........
 | 
			
		||||
...........##.....#...#........##..#........#....#..........#..#...............................................#......#.#.......#..
 | 
			
		||||
...#..##.........##....#...........##...#.......##.........#........#...........#........#.#.##...........#....#.....###...#.......
 | 
			
		||||
...#...#........................#..#...#..#........................................#......#..#...#.#....#...........#..............
 | 
			
		||||
...#..#.......#..#......##...................#...............#.....#.#.............#.....#.........#.#..##.....#..........#..#.....
 | 
			
		||||
....###....#..#.....#.#........#.##.......##...#...............#...............###.###.#...#............##.....#.................#.
 | 
			
		||||
....#...#.........#.##............#.....#........#............................................##.#......#..##.........#....###..#..
 | 
			
		||||
............#...##..#..........#........#.......#.#..........................#..#.#.......#......#.......................##.#..#...
 | 
			
		||||
....#......#....#....#..#.....#........#......#....#..#.#..............................#..#....#............#....#.................
 | 
			
		||||
..#.............#...#......#...#.....................#.##...............................##...#.......#........................#.##.
 | 
			
		||||
....#....##........#..............#....#.......#.....................................#........#........#...##..........#...........
 | 
			
		||||
....#.#.##..#..#....................#.................#.##.............#....#....#.............###...#...#..##....#.....##.........
 | 
			
		||||
.............#.......#...............#........#.#.....#..#.#................#.....#..##.....#....#...............#....#......#...#.
 | 
			
		||||
...................................................................................................................................
 | 
			
		||||
		Reference in New Issue
	
	Block a user