110 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Advent of Code
 | |
| br0xen (AoC++) 26*
 | |
| 
 | |
| --- Day 12: Hill Climbing Algorithm ---
 | |
| 
 | |
|    You try contacting the Elves using your handheld device, but the river you're following must be
 | |
|    too low to get a decent signal.
 | |
| 
 | |
|    You ask the device for a heightmap of the surrounding area (your puzzle input). The heightmap
 | |
|    shows the local area from above broken into a grid; the elevation of each square of the grid is
 | |
|    given by a single lowercase letter, where a is the lowest elevation, b is the next-lowest, and
 | |
|    so on up to the highest elevation, z.
 | |
| 
 | |
|    Also included on the heightmap are marks for your current position (S) and the location that
 | |
|    should get the best signal (E). Your current position (S) has elevation a, and the location that
 | |
|    should get the best signal (E) has elevation z.
 | |
| 
 | |
|    You'd like to reach E, but to save energy, you should do it in as few steps as possible. During
 | |
|    each step, you can move exactly one square up, down, left, or right. To avoid needing to get out
 | |
|    your climbing gear, the elevation of the destination square can be at most one higher than the
 | |
|    elevation of your current square; that is, if your current elevation is m, you could step to
 | |
|    elevation n, but not to elevation o. (This also means that the elevation of the destination
 | |
|    square can be much lower than the elevation of your current square.)
 | |
| 
 | |
|    For example:
 | |
| 
 | |
|  Sabqponm
 | |
|  abcryxxl
 | |
|  accszExk
 | |
|  acctuvwj
 | |
|  abdefghi
 | |
| 
 | |
|    Here, you start in the top-left corner; your goal is near the middle. You could start by moving
 | |
|    down or right, but eventually you'll need to head toward the e at the bottom. From there, you
 | |
|    can spiral around to the goal:
 | |
| 
 | |
|  v..v<<<<
 | |
|  >v.vv<<^
 | |
|  .>vv>E^^
 | |
|  ..v>>>^^
 | |
|  ..>>>>>^
 | |
| 
 | |
|    In the above diagram, the symbols indicate whether the path exits each square moving up (^),
 | |
|    down (v), left (<), or right (>). The location that should get the best signal is still E, and .
 | |
|    marks unvisited squares.
 | |
| 
 | |
|    This path reaches the goal in 31 steps, the fewest possible.
 | |
| 
 | |
|    What is the fewest steps required to move from your current position to the location that should
 | |
|    get the best signal?
 | |
| 
 | |
|    Your puzzle answer was 449.
 | |
| 
 | |
| --- Part Two ---
 | |
| 
 | |
|    As you walk up the hill, you suspect that the Elves will want to turn this into a hiking trail.
 | |
|    The beginning isn't very scenic, though; perhaps you can find a better starting point.
 | |
| 
 | |
|    To maximize exercise while hiking, the trail should start as low as possible: elevation a. The
 | |
|    goal is still the square marked E. However, the trail should still be direct, taking the fewest
 | |
|    steps to reach its goal. So, you'll need to find the shortest path from any square at elevation
 | |
|    a to the square marked E.
 | |
| 
 | |
|    Again consider the example from above:
 | |
| 
 | |
|  Sabqponm
 | |
|  abcryxxl
 | |
|  accszExk
 | |
|  acctuvwj
 | |
|  abdefghi
 | |
| 
 | |
|    Now, there are six choices for starting position (five marked a, plus the square marked S that
 | |
|    counts as being at elevation a). If you start at the bottom-left square, you can reach the goal
 | |
|    most quickly:
 | |
| 
 | |
|  ...v<<<<
 | |
|  ...vv<<^
 | |
|  ...v>E^^
 | |
|  .>v>>>^^
 | |
|  >^>>>>>^
 | |
| 
 | |
|    This path reaches the goal in only 29 steps, the fewest possible.
 | |
| 
 | |
|    What is the fewest steps required to move starting from any square with elevation a to the
 | |
|    location that should get the best signal?
 | |
| 
 | |
|    Your puzzle answer was 443.
 | |
| 
 | |
|    Both parts of this puzzle are complete! They provide two gold stars: **
 | |
| 
 | |
| References
 | |
| 
 | |
|    Visible links
 | |
|    . https://adventofcode.com/
 | |
|    . https://adventofcode.com/2022/about
 | |
|    . https://adventofcode.com/2022/events
 | |
|    . https://adventofcode.com/2022/settings
 | |
|    . https://adventofcode.com/2022/auth/logout
 | |
|    . Advent of Code Supporter
 | |
| 	https://adventofcode.com/2022/support
 | |
|    . https://adventofcode.com/2022
 | |
|    . https://adventofcode.com/2022
 | |
|    . https://adventofcode.com/2022/support
 | |
|    . https://adventofcode.com/2022/sponsors
 | |
|    . https://adventofcode.com/2022/leaderboard
 | |
|    . https://adventofcode.com/2022/stats
 | |
|    . https://adventofcode.com/2022/sponsors
 | |
|    . https://adventofcode.com/2022
 | |
|    . https://adventofcode.com/2022/day/12/input
 |