src/2019/days/day-06.lisp @ 3895878bfe72
2021/16
| author | Steve Losh <steve@stevelosh.com> | 
|---|---|
| date | Thu, 16 Dec 2021 01:23:51 -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))))