Solve day 25. Only d21 part 2 left o.O

This commit is contained in:
2024-01-23 20:23:47 -05:00
parent 217e770a25
commit cd00f46b77
2 changed files with 72 additions and 9 deletions

View File

@@ -2,10 +2,9 @@ My solutions to the Advent of Code 2023 programming challenges.
Thanks to Eric Wastl for creating this enjoyable event.
Requires `lib.py` from [aocpy](https://git.felixm.de/felixm/aocpy) repository.
Requires `sympy` for day 24.
- Requires `lib.py` from [aocpy](https://git.felixm.de/felixm/aocpy) repository.
- Requires `sympy` for day 24.
- Requires `matplotlib` and `networkx` for hands-on day 25.
# Times
@@ -40,11 +39,15 @@ Requires `sympy` for day 24.
the input conjunction gate pretty early, but then messed up the
implementation and thought it wasn't gonna work. Spent a half day thinking up
something else before returning to the idea and it worked flawlessly.
- Day 21:
- Day 21: Part 1 was straightforward, but part 2 maybe the hardest problem this
year.
- Day 22: Not too hard, but definitely way too slow for leaderboard.
- Day 23: I found this fun because it required some creativity for part 2. Slow
af, of course.
- Day 24: Solve problem with sympy. I first used numpy to solve part 1 and it was
much faster than using sympy, but I lost that solution when switching to sympy.
Takes about three minutes to run for part 1 and then part 2 is under a second.
- Day 25:
- Day 24: Solve problem with sympy. I first used numpy to solve part 1 and it
was much faster than using sympy, but I lost that solution when switching to
sympy. Takes about three minutes to run for part 1 and then part 2 is under a
second.
- Day 25: I cheeky solved this by plotting the graph and manually removing the
nodes. I should probably try to write an algorith that does that, but meh.
Manually plotting requires matplotlib and networkx packages.