view 2017/day11/problem @ 35:1d99d733cf13 tip @

day08: replace static foreach with workaround
author Jordi Gutiérrez Hermoso <>
date Tue, 16 Jan 2018 11:28:55 -0500
parents 049fb8e56025
line wrap: on
line source

--- Day 11: Hex Ed ---

Crossing the bridge, you've barely reached the other side of the
stream when a program comes up to you, clearly in distress. "It's my
child process," she says, "he's gotten lost in an infinite grid!"

Fortunately for her, you have plenty of experience with infinite

Unfortunately for you, it's a hex grid.

The hexagons ("hexes") in this grid are aligned such that adjacent
hexes can be found to the north, northeast, southeast, south,
southwest, and northwest:

  \ n  /
nw +--+ ne
  /    \
-+      +-
  \    /
sw +--+ se
  / s  \

You have the path the child process took. Starting where he started,
you need to determine the fewest number of steps required to reach
him. (A "step" means to move from the hex you are in to any adjacent

For example:

    ne,ne,ne is 3 steps away.

    ne,ne,sw,sw is 0 steps away (back where you started).

    ne,ne,s,s is 2 steps away (se,se).

    se,sw,se,sw,sw is 3 steps away (s,s,sw).

Your puzzle answer was 818.

--- Part Two ---

How many steps away is the furthest he ever got from his starting

Your puzzle answer was 1596.

Both parts of this puzzle are complete! They provide two gold stars: **