Day 23 - Solutions
https://github.com/alexalemi/advent/blob/main/2023/clojure/p23.clj is mine. Mine works but takes a couple minutes for part-2.
@alexalemi my solution takes 4257 msecs, but it is not a good one, it uses a magic number to limit. Maybe I will come up with a better function to cut search space.
I was surprised that not many people solved part 2 so far
Again got a profit from my bare-bones graph viewer 😄
I reduced the space to the graph from junction to junction and then did a depth first search. 90s for part 2 https://github.com/bhauman/adv2023/blob/main/src/adv2023/day23/sol.clj
Struggled for days to determine a proper A* minimal cost (negated, so maximal cost as desired) heuristic for the junction-to-junction graph, but finally my solution finds the correct result for part 2 in 2.6s (#scittle on iPhone 8 Safari).
I had a fun time (on this and other challenges this year) trying to use loom/ubergraph in anger. 13 min for Part 2, but good debuggability with the .dot output. Plus ubergraph made the graph compression in part 2 a nice little reduction: https://github.com/rgm/experiments/blob/1bcf0e8819d33325c7e9246476fa41f525602c86/2023/202312-advent-of-code/23/day_23_2.clj