src/2019/days/day-06.lisp @ e41337e3b59b
Accessors
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Wed, 15 Dec 2021 23:10:57 -0500 |
| parents | 182bdd87fd9e |
| children | (none) |
(advent:defpackage* :advent/2019/06) (in-package :advent/2019/06) (define-problem (2019 6) (data read-lines) (301100 547) (let ((graph (digraph:make-digraph :test #'equal))) (iterate (for line :in data) (for (mass orbiter) = (str:split ")" line)) (digraph:insert-vertex graph mass) (digraph:insert-vertex graph orbiter) (digraph:insert-edge graph mass orbiter)) (values (recursively ((n 0) (node "COM")) (summation (digraph:successors graph node) :initial-value n :key (curry #'recur (1+ n)))) (- (length (astar :start "YOU" :neighbors (curry #'digraph:neighbors graph) :goalp (curry #'equal "SAN") :cost (constantly 1) :heuristic (constantly 0) :test #'equal)) 3))))