On Sunday, December 15, I grabbed some snacks, powered up my computer, and settled in for my first-ever USACO adventure - a 4 hour coding marathon that promised to push my problem-solving skills to the limit.
For those that don't know the United States of America Computing Olympiad (https://usaco.org/), it is an online computer programming competition that serves as qualification for the International Olympiad in Informatics (IOI). There are 3 contests, with every contest having a 4-day window to complete. There are 3 problems to solve in a total of 4 hours consecutively, with no breaks. You can use languages from C++ to Python, so the competition itself is very user-friendly.
As a USACO newcomer, this was my first time diving into the contest. I didn't prepare at all for the contest, so right off the bat, it was a bit of a wake-up call. The problems themselves weren’t necessarily impossible, but they did require careful attention to detail and a good grasp of algorithms. What tripped me up, however, were the dreaded time-out errors. I was able to solve the problems, but getting my code to run within the time limits? Not so easy.
My first impressions? The questions themselves were a bit hard to understand at first, kind of like a puzzle. Once I figured out the approach, it wasn’t too bad, but the debugging was a real challenge. I think I spent nearly half my time just fixing little bugs and tweaking my code! That's definitely something that I'll need to improve on for the next competition in January.
But despite the struggle, it was an incredibly fun experience. I learned a ton and can’t wait to jump back in for the next competition in January. Bring on the debugging!