Skip Navigation
Advent of Code @lemmy.world mykl @lemmy.world

Nadvent of Code - 2022 Day 19

dartpad.dev DartPad

An online Dart editor with support for console, web, and Flutter apps.

As a warmup for this year's Advent of Code, I'm re-reading and posting my solutions to last year's challenges. You can read, run and edit today's solution by following the post link.

Today was a sudden increase in difficulty (for me anyway). We had to find the best route for opening a system of valves to maximise the total flow through the network. Part two repeated the exercise, but with the addition of a friendly elephant to help with the work.

I was able to simplify the network enough to solve part 1 in a reasonable time, but had to hack my solution for part 2 terribly to get it under a second. Reading some other solutions, I missed out on some key approaches including pre-calculating minimum paths between all pairs of valves (e.g. using the Floyd–Warshall algorithm), aggressive caching of intermediate states, and separating out my movements from the elephant's movements.

Go and read @hal9001@lemmy.world's Clojure solution for a much more thoughtful approach :smile:

0
Advent of Code @lemmy.world mykl @lemmy.world
Nadvent of Code - 2022 Day 18
0 comments