From 3b21289f8633a69365d1838ac9a134860fbb36c7 Mon Sep 17 00:00:00 2001 From: Juan MarĂ­n Noguera Date: Tue, 24 Dec 2024 19:09:20 +0100 Subject: Day 23 --- day23.scm | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 day23.scm diff --git a/day23.scm b/day23.scm new file mode 100644 index 0000000..9b6d8e7 --- /dev/null +++ b/day23.scm @@ -0,0 +1,142 @@ +(library (day23) + (export part1 part2) + (import (ice-9 rdelim) + (ice-9 regex) + (pfds sets) + (guile) + (srfi srfi-69) + (srfi srfi-88) + (srfi srfi-89))) + +(define +line-regex+ (make-regexp "^([a-z][a-z])-([a-z][a-z])$")) + +(define (node? obj) + (and (string? obj) + (= (string-length obj) 2) + (char<=? #\a (string-ref obj 0) #\z) + (char<=? #\a (string-ref obj 1) #\z))) + +(define (node=? . nodes) + (apply string=? nodes)) + +(define (network? obj) + ;; Also, the table maps from node? to set? of node? (comparator stringset (map car (hash-table->alist nw)) stringlist clique) string