ACM ICPC Rocky Mountain Regionals 2018
On November 2nd and 3rd, 2018 our USU team (Joshua Dawson, Phillip Linson, Joel Devey) attended the ACM International Collegiate Programming Contest (ICPC). The ICPC “is the oldest, largest, and most prestigious programming contest in the world”. Competitive programming teams from the Rocky Mountain region, which includes eight states and two Canadian provinces, participated in this Regional contest held in Butte, Montana.
Overall, this was a great event and learning experience. We were very excited to attend as we had been preparing with practice problems and competitions for months. Our ICPC coach, Dr. Jiang, aided us in many ways. First and foremost, he introduced us to, and got us excited about, competitive coding. Through the Rapid Problem Solving and Competitive Programming classes he teaches, many students gained an appreciation for the hobby. Dr. Jiang also offered much help in preparation. Several times when we were stuck on a coding or math problem, Dr. Jiang helped us work out the problem, often giving sound advice along the way about how to think about a specific type of problem or practice its concepts. At the ACM coding competition last spring, Dr. Jiang also helped to test the problems that had been created to ensure that the competition would have high-quality problems. Of course, many other professors helped along the way as well, including our CS I and CS II professors who helped us gain a basic understanding of C++ and general programming concepts.
When the event finally came, we were a little nervous, but also felt ready. The day before the competition there was a practice event set up so that each team could get used to the setup of the competition. Each team gets only one computer to work on, so each team has to find a way to coordinate so that someone is coding while someone else is thinking through a different problem. While at the practice, we solved three of the four problems provided and went back to the hotel to get some sleep so we would be rested for the next day.
The competition consists of ten coding problems that each team tried to solve as quickly as possible within a five-hour period. The team with the most problems solved wins, and in the case of a tie, the fastest team wins. In the end, it is up to each team to try to balance speed versus accuracy, as wrong answers are also penalized.
When the time came for the competition to start, we had a strong opening. We solved five problems in the first two and a half hours. The sixth problem we tried to solve was a lot harder and took much longer to find a solution that was provably correct, but we got it. Our team solved six problems and was the fastest team to solve six problems. We also made zero wrong submissions, which meant we were not penalized. We were happy with this result, as in our practice rounds we typically submitted several wrong answers.
We finished 1st at the Montana Tech site, and 7th out of 63 teams in the Rocky Mountain region. You can see our team’s results at on the regionals Rocky Mountain 2018 standings webpage. Though we didn’t get any trophies, this was a good result since it was far better than any team from USU had done before. Previously, the best placement a USU team had received was 25th place in 2015.
While at the competition, we got to meet students from other universities. This was great because we found that no matter where you come from, most computer science students have similar interests and will understand the same jokes. Needless to say, we got along just fine.
The night after the competition, all the competitors and their coaches went out for pizza at a famous pizza place in town. This was my favorite part of the trip, as we got to meet the students from other universities as well as a couple of professors. We talked about the problems and our approaches, and all learned from one another. It was also interesting to see what the competitive programming scene was like at other universities.
Going on this trip was a lot of fun and a great privilege. We appreciate the generous financial support that the Computer Science Department has provided to make this trip a wonderful and unforgettable experiences for all three of us. I hope that USU will send many more teams in years to come, and that we will continue to improve our scores and expand the competitive programming culture here, as it teaches many important lessons and is a lot of fun!
Writer: Joel Devey