Usually I manage to get a more elegant solution on day 1, it is what it is I guess.

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day01/src

#AdventOfCode

day01/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day02/src

Could probably be made more efficient but I'm pretty happy with this.

#adventOfCode

day02/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day03/src

I ended up using const generics, allowing me to simply call bank_joltage::<2> and bank_joltage::<12> for part 1 and 2 respectively.

#adventOfCode

day03/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day04/src

I set up a coords library for later days today. (code here) The enumerate_coords function allows me to add coordinates to any iterator of Strings, which can than be collected to something like a map. (Although I ended up just using a HashSet of Coords for today.) I'm probably going to set up some sort of Grid struct or trait at some point but that wasn't necessary for today.

#adventOfCode

day04/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

Decided to add some visualization.

#adventOfCode

Did not notice I was recording my cursor, oops!

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day05/src

Finally found a good use of the coalesce function of the itertools crate!

#adventOfCode

day05/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab
day06/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day07/src

I've got a visualization for part two too but that one is too messy to show.

#adventOfCode

Got an okay looking visualization for part 2!

#adventOfCode

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day08/src

I haven't started on part 2 yet but I wanted to share this visualization I made for part 1. You can move the camera and everything!

#adventOfCode

Turns out I barely needed to change anything to solve part 2.

#adventOfCode

It wouldn't be an advent of code without a disjoint set puzzle.

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day09/src

Actually did the solving in a different thread for this one, mostly so I could still use itertools.

#adventOfCode

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day10/src

Blech.

At least I learned about a new library, I did some linear algebra by hand and got mostly the correct answer for the first machine so I think using z3 to do the rest is justifiable.

#adventOfCode

day10/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

I haven't even solved part 1 yet, but at least it's pretty.

#adventOfCode

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day11/src

It really wasn't all that hard once I stopped getting sidetracked. Prime candidate for a massive code cleanup though.

#adventOfCode

day11/src · master · decivex / Advent of Code 2025 · GitLab

GitLab.com

GitLab

It'll probably be a lot of work to do what I envisioned for this, idk if I'll stick with it. But here's the shapes from the example input and their variants.

#adventOfCode

https://gitlab.com/Decivex/advent-of-code-2025/-/tree/master/day12/src

This turned out to be way overcomplicated. (Especially if you know what I now know.)

Pretty though.

#adventOfCode

And with that I've actually finished advent of code for the first time!