src/2019/days/day-06.lisp @ 9ceb59a426ad
Remove unused macro
author |
Steve Losh <steve@stevelosh.com> |
date |
Sat, 07 Dec 2019 16:58:49 -0500 |
parents |
9b6e236a27a0 |
children |
182bdd87fd9e |
(defpackage :advent/2019/06 #.cl-user::*advent-use*)
(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))))