adventofcode/2016/day24/problem

78 lines
2.7 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Advent of Code
--- Day 24: Air Duct Spelunking ---
You've finally met your match; the doors that provide access to the roof are
locked tight, and all of the controls and related electronics are
inaccessible. You simply can't reach them.
The robot that cleans the air ducts, however, can.
It's not a very fast little robot, but you reconfigure it to be able to
interface with some of the exposed wires that have been routed through the
HVAC system. If you can direct it to each of those locations, you should be
able to bypass the security controls.
You extract the duct layout for this area from some blueprints you acquired
and create a map with the relevant locations marked (your puzzle input). 0
is your current location, from which the cleaning robot embarks; the other
numbers are (in no particular order) the locations the robot needs to visit
at least once each. Walls are marked as #, and open passages are marked as
.. Numbers behave like open passages.
For example, suppose you have a map like the following:
###########
#0.1.....2#
#.#######.#
#4.......3#
###########
To reach all of the points of interest as quickly as possible, you would
have the robot take the following path:
 0 to 4 (2 steps)
 4 to 1 (4 steps; it can't move diagonally)
 1 to 2 (6 steps)
 2 to 3 (2 steps)
Since the robot isn't very fast, you need to find it the shortest route.
This path is the fewest steps (in the above example, a total of 14) required
to start at 0 and then visit every other location at least once.
Given your actual map, and starting from location 0, what is the fewest
number of steps required to visit every non-0 number marked on the map at
least once?
Your puzzle answer was 490.
--- Part Two ---
Of course, if you leave the cleaning robot somewhere weird, someone is bound
to notice.
What is the fewest number of steps required to start at 0, visit every non-0
number marked on the map at least once, and then return to 0?
Your puzzle answer was 744.
References
Visible links
. http://adventofcode.com/
. http://adventofcode.com/2016/about
. http://adventofcode.com/2016/support
. http://adventofcode.com/2016/events
. http://adventofcode.com/2016/settings
. http://adventofcode.com/2016/auth/logout
. http://adventofcode.com/2016
. http://adventofcode.com/2016
. http://adventofcode.com/2016/leaderboard
. http://adventofcode.com/2016/stats
. http://adventofcode.com/2016/sponsors
. http://adventofcode.com/2016/sponsors
. https://en.wikipedia.org/wiki/HVAC
. http://adventofcode.com/2016
. http://adventofcode.com/2016/day/24/input