ACM ICPC: What I Learned
Yesterday I participated in my first programming contest. It was very fun, though challenging, and I learned a fair bit during it. The content consisted of teams of 3 working to solve 6 problems as fast as possible. The problems ranged from trivial (repeated arithmetic) to moderately complex.
Problem solving is fun.
I already knew this, but it has been some time since I’ve done intense problem solving. It was nice to sit down for a few hours and bang my head on a problem. Creative problem solving just feels good, in a way that most activities don’t.
I don’t know much about algorithms or data structures
Of course I know the basic search and sorts, but anything involving anything more complex than binary trees is beyond my current knowledge. A few of the problems were solved very elegantly with tree operations. I was unable to come up with a way to express the operation I wanted to perform. It’s a standard problem which I had not been aware of.
Now that I know what I don’t know, I can expand my knowledge.
C++’s iostreams are quite nice
Previously I haven’t been a fan of iostreams, due to their misplaced
pedagogical use. But, for simply reading whitespace-separated data from stdin
and outputting the same to stdout, there probably isn’t anything easier. I
might implement something similar (though not using the