Haskell, Genetic Algorithm, Graph Theory, Programming.
(("Orchard", 0), (show c, trailNum c dir)) | (c, dir) <- [(13, NE), (17, N)] ] ++ [ (("Lair", 0), (show c, trailNum c dir)) | (c, dir) <- [(12, SE), (16, S), (20, SW)] ] ++ [ (("Exit", 0), (show c, trailNum c dir)) | (c, dir) <- [(19, SE), (20, NE), (20, SE)] ] where trailNum n dir = head [ i |