diff options
Diffstat (limited to 'AoC2022/16')
-rw-r--r-- | AoC2022/16/solver.lisp | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/AoC2022/16/solver.lisp b/AoC2022/16/solver.lisp index 9bda6f2..0d2d9d7 100644 --- a/AoC2022/16/solver.lisp +++ b/AoC2022/16/solver.lisp @@ -79,11 +79,15 @@ sum (* flow (- start-time runtime)) into release finally (return release))) -(shortest-path (data "eg-in") 'AA 'CC) - -(= 1648 (path-release '(AA DD JJ BB CC HH EE) (worthwhile-graph (data "eg-in")) 30)) -(= 1651 (path-release '(AA DD BB JJ HH EE CC) (worthwhile-graph (data "eg-in")) 30)) -(= 560 (path-release '(AA DD) (worthwhile-graph (data "eg-in")) 30)) +;; (shortest-path (data "eg-in") 'AA 'CC) +(fiveam:test loads + (fiveam:is + (= 1648 (path-release '(AA DD JJ BB CC HH EE) (worthwhile-graph (data "eg-in")) 30))) + (fiveam:is + (= 1651 (path-release '(AA DD BB JJ HH EE CC) (worthwhile-graph (data "eg-in")) 30))) + (fiveam:is + (= 560 (path-release '(AA DD) (worthwhile-graph (data "eg-in")) 30)))) +(fiveam:run-all-tests) ;; ;; part 1 (let* ((open '(aa)) @@ -131,8 +135,8 @@ ;; '(AA RA XK YH NM YP XS) ;; (worthwhile-graph (data "input"))) -(defun part2 () - (let* ((action-graph (worthwhile-graph (data "eg-in"))) +(defun part2 (filename) + (let* ((action-graph (worthwhile-graph (data filename))) (start-time 26) (actor (list `((aa) ,start-time) `((aa) ,start-time)))) @@ -169,16 +173,19 @@ ;; (princ) (traverse action-graph actor '(aa))))) -(require :sb-sprof) +(part2 "eg-in") + +(part2 "input") +;; (require :sb-sprof) -(sb-sprof:with-profiling (:max-samples 1000 - :report :flat - :loop t - :show-progress t) - (dotimes (_ 100) - (part2)) - ) -(time (part2)) +;; (sb-sprof:with-profiling (:max-samples 1000 +;; :report :flat +;; :loop t +;; :show-progress t) +;; (dotimes (_ 100) +;; (part2 "eg-in")) +;; ) +;; (time (part2 "eg-in")) ;; (length (worthwhile-graph (data "input"))) ;; (loop for (name flow . neighbors) in (worthwhile-graph (data "input")) |