Plaster
New
List
Login
common-lisp
default
anonymous
2023.12.30 22:43:39
(in-package #:cl-user) (defparameter *data* (with-open-file (s #P"data.lisp") (read s))) (defparameter *instructions* (cdr (assoc 'path *data*))) (defparameter *map* (cdr (assoc 'map *data*))) (defun solution (instructions map) (loop with place = 'aaa with steps = 0 until (eq place 'zzz) do (loop for i in instructions for node = (cdr (assoc place map)) do (incf steps) (setf place (case i (l (car node)) (r (cdr node))))) (format *debug-io* "place(~5,'0d): ~a~%" steps place))) (solution *instructions* *map*)
Raw
Annotate
Repaste
Edit