My Rust solutions (This repo)
This year got a bit ugly at the end. My protocol when things should work, but just don't:
- Carefully re-read the challenge discription to validate my understanding and to look for edge-case details (which are explicitly covered whenever there is any ambiguity.)
- Create the test cases if I initially skipped them. The examples are provided for that reason.
- Walk through the code, especially the initial steps before it scales up (way up!) and validate the intermediate state of things.
- If ordinary debugging isn't helpful, I sometimes downgrade to "printf debugging" -- especially helpful to identify when loops go wrong.
- Get hints when I'm stuck, or not confident in my approach. Reddit's SOLUTION MEGATHREAD is a great place for "hints". It is helpful to remember that the leaderboard is full of people who solved the same puzzle very quickly. What am I proving if I continue to struggle after 3, 4, or 10 hours? I should get a hint before I get to that point.