--- Writeup at https://work.njae.me.uk/2021/12/13/advent-of-code-2021-day-13/
-
+-- Writeup at https://work.njae.me.uk/2021/12/16/advent-of-code-2021-day-15/
import Debug.Trace
--- import qualified Data.Text.IO as TIO
-
--- import qualified Data.Map.Strict as M
--- import Data.Map.Strict ((!))
import qualified Data.PQueue.Prio.Min as P
import qualified Data.Set as S
import qualified Data.Sequence as Q
import Data.Maybe (fromMaybe)
import Linear (V2(..), (^+^), (^-^), (*^), (^*))
import Data.Array.IArray
--- import Data.List
-
pattern Empty <- (Q.viewl -> Q.EmptyL) where Empty = Q.empty
pattern x :< xs <- (Q.viewl -> x Q.:< xs) where (:<) = (Q.<|)
, _trail = newTrail
, _cost = incurred + predicted
}
--- makeAgendum :: SearchState s => (Q.Seq s) -> Int -> s -> CaveContext (Agendum s)
--- makeAgendum previous prevCost newPosition =
--- do predicted <- estimateCost newPosition
--- grid <- asks _grid
--- let newTrail = previous |> newPosition
--- newPositionCost <- entryCost newPosition
--- let incurred = prevCost + newPositionCost
--- return Agendum { _current = newPosition
--- , _trail = newTrail
--- , _cost = incurred + predicted
--- }
---
\ No newline at end of file