This weekend I participated in the 2003 ACM East Central North America Regional Programming Contest (ACM ECNA RPC). There were about 130 teams that pulled the best programmers from over 70 colleges/universities through the region (except Chicago). Since it would be too difficult to host everyone at a single facility, there were four hosting sites. The contest was treated as a distributed contest rather than four contests (this is important to consider later on). Ashland was the primary site, followed by Carnegie Mellon, Cincinnati, and Sheridan. We went to the Sheridan site.
The reason that we had to go to the Sheridan site in Oakville, Ontario, Canada was due to the late nature of our registration. Since, Hugh McGuire (our contest coach/coordinator), found out about the opportunity so late. Therefore, we were unable to get in at a closer site, because they were already full up. Due to the short notice we also did not have much time for preparation. As I have mentioned in previous posts, our teams selected of talented individuals, were in essence “thrown together.” We only had three meetings prior to the competition, and only two practices. Thus, we were essentially thrown to the wolves unprepared. However, I will not bother continuing with the unfortunate details of our initial setup, since at this point they are irrelevant.
We set out Friday morning on the long car trip to Oakville. Unfortunately, due to my motorphobia, I created an artificial isolation of myself from the rest of the passages. I am afraid that I gave them a distinct impression they I found the company offensive, which is not necessarily true. They did indeed have many somewhat interesting conversations were I could not participate in. For those of your not familiar with motorphobia, it operates similar to many phobias. It can cause panic attacks, with symptoms such as shortness of breath, rapid breathing, irregular heartbeat, sweating, nausea, and overall feeling of dread. Fortunately, most of these problems are not too severe for me, as long as I am allowed to psychologically pretend I am in another place. As a side effect this creates an isolationist persona. So, I was able to get through the ordeal with mild nausea, and dread. Which, seems at least like some kind of moral victory. Keep in mind; these aspects are only in respect to the trip there. The trip there was uneventful, and after a few pit stops we made it to Sheridan within around seven hours.
Overall, the campus of Sheridan was pretty impressive. The overall architecture was very interesting. It seemed to be very much about ascetics over functional space. This idea seemed to be very common throughout the sections of Ontario that we traveled through. Another common theme I noticed was that Ontario seemed to be a vast, desolate wasteland. Everywhere we were at wreaked of dirt, and mildew.
We arrived at Sheridan about half of which was spent playing hearts, which I have never really cared for. Anyhow, first we were herded into a large lecture hall where all the teams were introduced, and we briefly covered the packet materials. Then, there was a demo of the AWFUL PC^2 Contest Control System. Everything, seemed ok at this point, but that was all an illusion. The next phase was the practice-programming contest (designed to run for 90 minutes).
We were all assembled in the rooms, which we would be partaking in the contest in. We were given our login information, and all the prepping info. Eventually things got started. Within the first minute, a team had entered and approved solution to one of the problem. Impossible. We later conjectured that due to the casual nature of the practice contest that not all of the locations were properly synchronized, so some teams had more time to solve the problems. Anyhow, they were trying to use the newest version of PC^2 (8.5) for contest, which proved to be a terrible mistake. About thirty minutes into the practice problems began to crop up like mad. Shortly thereafter systems starting freezing, and all the servers started throwing RMI exceptions. So…wonderful! Additionally, we had a concrete solution to one of the problems that had an erroneous error that could not be eliminated. Something about a floating point exception at run time. Now, we were not using floating point anything in the program. And hell, even when we commented out the functional code it still threw the error. So, our only conclusion was that there was some errant character in there that was not being displayed by their horrible editors (pico, jove vi (striped down), and xe) that was causing gcc to generate bad executable. This caused everyone on our team undue stress. Then, shortly thereafter we began to get system freezes (though we think that this may have partially been our fault due to improper test termination, but that is not clear). In the end they just threw their hands up and stopped the practice early.
The host provided pizza, and refreshments after the catastrophe. While consuming our late meal we discussed our woes with our counterparts (GVSU Lakers 2). Apparently, the practice seemed to go well for them, which proved to be little consolation. Eventually we were herded back into the auditorium for an explanation of what was going on.
They determined that version 8.5 of PC^2 was unsuited to be used in the competition. So, contest administration decided to revert to version 7.6, the version used in the previous years’ competition. Apparently, this was a painful reverse that kept the tech teams working until 3 AM. At this point we just decided to give up for the night, and head to our hotel so we could get some rest for the real competition.
We stated at the Qualities Suites there in Oakville. The drive was roughly ten minutes from Sheridan, so it worked out nicely. Also, I ended up having my own room, since it was decided that it didn’t make sense for Eric to get there at 11 PM, just to stay the night there. Instead, he was just going to go straight to the competition from the Detroit area. It worked out quite nicely for me, since the solitude allowed me to putting everything out of my mind in order to rest for the next day’s event.
The contest started at 10:39:10 instead of the 10:00:00 that it was scheduled for. Apparently, there were some “technical difficulties” as a few sites that caused the forty-minute delay. Now, I have to say that it is extremely ironic, that a programming contest held by ACM, the association for the best in the field had “technical difficulties.” I mean, if they cannot iron out the problems, who can!? Anyhow, the official ending time was 15:39:10. In other words, it was exactly five hours. So they at least got something right!
The problems in this set seemed to be less difficult than the ones were practicing on, but more difficult than the ones in the practice contest. You can see the Problem Set if you feel so inclined. We began working on the cryptography one (A), and the box manipulation one (F). Eventually, I was working with Erin on F until Drew hit some issues with A. Then, we hammered through that one and came up with solution. Then, we began working on the polynomial expansion one (E). We came up with a potential solution to it relatively quickly, however hammering out some of the details proved to be unnecessarily difficult. Ultimately, after we had a couple of rejected results that we could not understand, Drew tested the log function. We coded it just using the log function, thinking that it calculated log10. But, in the back our heads we were wondering if it was doing the natural log. After a test, we realized it was. It was one of those moments where such irritation and relief, it is difficult to describe. By this time, we only had twenty minutes left. Drew and I basically stopped trying to solve any more problems, while Erin frantically tried to improve the efficiency of her solution to F. We think that it was correct; it simply just too took long. So, it exceeded the CPU limit for the competition. Unfortunately, it just could not be done. But, I guess that is ok.
According to other people, solving two problems in our first competition was pretty impressive. So, I’ll chalk this one up as a morale victory. Ultimately, we ended up in 48th place, out of 128 that puts us at about the 57 percentile for the contest. Not bad I guess. Our counterparts, GVSU Lakers 2, solved one problem, and ended up tying for 94th. Of the eight problems in the contest 96 teams completed at least one problem, and none completed them all. The maximum number completed was 7. You can see the Final Standings if you feel so inclined.
Interestingly enough, they winners were from Waterloo, and consisted of one graduate student, and two freshmen. They all had considerable programming contest history. It seems that Waterloo does individual programming contests to determine teams, and then has team practices starting in October. Their methodology was to have one person starting reading from the beginning, one from the end, and one in the middle. They would let the other know what the easy problems were, then began working on them. So, essentially they were working individually until they got to the final difficult problems when they starting working together.
There was short diner ceremony thing, where they had the teams get certificates, and what not. The winners on site were announced, and that was about it. We “got out of dodge” shortly thereafter. It was roughly 5:30 PM that we hit the road. The trip home was a greater disaster than I could have imagined when I was dreading the trip to the contest last week.
We shipped out of Canada pretty easily. The traffic in general was not too bad so we were able to move a pretty decent clip. However, at one point it was snow, hard. No good can come of this I thought to myself. But, eventually we made it out of it, so I thought bad luck was behind us. The border patrol did not really bother us. The story about being in a programming contest seemed crazy enough to be true. We just had to show our ID for the most part. After a while once again in Michigan, and the United States, we stopped at a gas station for much needed gasoline, and a rest stop.
After a while, everyone was ready to get back on the road. We made it several more miles, and I began to think, “Ok. Everything is ok, we are on the homestretch, I just need to keep it together for a little longer.” Then, everything went to hell in a hand basket. The “Trans Temp” light went on in the van, so we pulled over onto an off ramp for Attica. Does anyone know where that is? It is on exit 163 on southbound 96. It is basically a little, tiny speck on the map.
They let it cool for a little while, and then popped the hood to check things out. It seems that when they checked the transmission fluid it was “bone dry.” Based on everything I know, it would seem that the transmission burned up due to lack of transmission fluid.
Hugh spent a considerable amount of time using my cell phone trying to contact the rental company, whose only solution was to toe the van to a dealership, where it would be looked at Monday. Then, he tried the roadside assistance plan for the van (which had the wrong registration), it seems that it was expired, or did not cover the van. Finally, he called AAA, where they finally agreed to send out a toe truck with transmission fluid.
Tom called Mel’s mother, who drove her van up to pick us up (she lived about an hour from there). This happened more than two hours after we had been sitting there. Hugh decided to stay with the van. The toe truck arrived shortly after Mel’s mother. So, the rest of us when back to Mel’s parents’ house. While this was going on, Mel was driving up to her parents with Tom’s car. Mel arrived there shortly after we did. As we were preparing to disembark I get a phone call from Hugh (Drew left his cell phone with him). It seems that they toed the van to Imlay, and he was currently at the Super 8. At this point, he decided that it was not such a great idea to stay with the van, so he wanted one of us to come get him. So, I made the announcement to our group. Most of us shuttered with the thought of spending another two hours on the road. Mel cheerfully agreed to get Hugh. So, She took Guenter with her (in her car) to get Hugh. The rest of us packed into Tom’s PT Cruiser to head back to Allendale. The trip from Mel’s parents’ took around two hours, and was quite uneventful.
After dropping everyone off at their respective locations, I was left waiting for a couple minutes for my brother, and mother to come pick me up (I called them with about forty-five minutes notice). I breathed a breath of relief as I saw them, thinking the nights events would soon be over, by this point; it was not 4:30 AM. I was relaxed, kicked back kind of talking about the adventure we had, had with the transmission when, BAM!!! We hit a damn deer. At this point I was thinking, “why the [expletively deleted] won’t this night just end!” The deer did not due too much damage, it just really shock up my brother who was driving at the time. I retrospect, I glad the wretched thing did not jump as it was getting hit, because then it would have went through the windshield, and in to me. Though, that would have made quite an ironic twist to the night. The only way the night could have been worse, is if the ambulance taking me to the hospital hit a patch of black ice and rolled. But, I will not go there.
Ultimately, I think the contest was a positive experience. Though, I cannot say that I really enjoy the desolate wasteland that is Canada. Hopefully, we will not be the last group from Grand Valley to compete in this contest, because that would be a waste. I would like to see more teams go in the future, better prepared, and more successful. I would say that it was probably worth the anguish I went through to get there. But, there is no way that it was even close to worth the torment I experienced on the way home. And that is the bottom line.

Recent Comments