These solutions are written in Nim.
I had some fun with Nim metaprogramming and built a task runner that will automatically load any solution files in the
src directory at compile time. (After all, what's the fun in doing something simply and straightforwardly without overengineering?) To use it:
nimble build ./bin/runner # The solutions do not handle relative paths
The runner will notify you if the files in the
src directory do not match those that have been compiled into it.
input module has some helper functions to access the input data. Any input files should be put in an
input directory at the top of the repository with the name