Few weeks ago I went to Kuala Lumpur to attend ACM-ICPC 2011 Kuala Lumpur hosted by IIUM (International Islamic University Malaysia). I was invited as a problem setter and judge. The invitation was addressed to my previous campus (BINUS), thus I represented BINUS/Jakarta/Indonesia in this ICPC.
All transportation and accomodation expenses are paid by the committee. I stayed at Lanson Place Ambassador Row, a four-star hotel located at Ampang. I got a very nice room, it has living/study room, bedroom, bathroom and kitchen. There’re two TVs, one in the living room and one in bedroom. There’re also microwave, water-heater, refrigerator and cutlery in the kitchen. Eko said that room was a “suit” type, I don’t know what it means.
The agenda for first day was judge meeting, so I came to IIUM (escorted by a committee) and met other judges. There are 3 judges who have already in the meeting room: Dr. Hossam El Gindy (chief), Marini Abu Bakar and Niko Ibrahim. Actually there is one more judge (Dr. Teddy Mantoro), but he said that he couldn’t attend judge meeting and practice session (icpc day-1). Hossam gave me a copy of problemset which will be used in the contest. I proposed two problems for this ICPC, apparently they’re put in problem B and G. I noticed one of the problem was exactly the same with a problem in ITBPC (one of Indonesia local contest), given an infinite size chessboard count the minimum step needed to move from one cell to another cell with knight move. I told Hossam about that problem and he agreed to withdraw the problem. Surprisingly, Marini also knew that problem from a Malaysia local contest, the more reason we should withdraw the problem. Hossam proposed another problem to substitute the withdrawn problem. Somehow I felt that I have encountered that new problem, but I couldn’t remember, so I just let it pass. We discussed the solution to the problem and I coded it.
Back to the hotel and I was hungry. Unfortunately, there’s not many choice for dinner. I went to a persian restaurant and ordered some kind of grilled chicken. They surely took a lot of time to prepare the food, but the food was okay.
The agenda for ICPC Day-1 was opening ceremony and practice session for contestants. Before opening ceremony, Hossam has setup PC2 for practice session. He decided to set the time-limit for each problem quite large and hid it from the contestants. When I asked him why we hid the time-limit, he said that he followed ICPC World Final. I don’t understand the reason behind this, but the time-limit was so generous, so I think it’s okay.
The trouble in practice session appeared after half hour elapsed time. Some teams begun to “test” the server and judge machines. They tested whether their codes will exceed the time-limit by doing a lot of iterations or even an infinite loop. Some teams also tested the stack size by doing recursion. In ICPC Jakarta I just let contestants did this, but in here the problem was: time-limit for each problem was large! There are 4 judges and all judge machines test contestant’s “solution” which consumed a lot of time (because it did a lot of iterations), and at one time I saw there’re more than 30 pending submissions. Hossam then decided that such submission is not allowed anymore, because it will obstruct “real” solution from other contestants.
After practice session I realized that judge machines are quite fast, so I suggested Hossam to decrease the time-limit for the contest proper. I also tested the brute-force solution for my two problems in judge machines and as I suspected they run quite fast, so I decided to decrease the time-limit more for my problems.
ICPC Day-2 was the contest proper. I wear ICPC shirt given by committee the day before, but Hossam did not, because he said his shirt was too small (yes, he has a big body).
The contest begun and there’re some submissions for easy problem. Strangely, they all got Wrong Answer. I doubt such easy problem could lead to many wrong answers, so I checked the contestants’ output and compare them to judge’s output. I found the input which made the output different. At first I thought the contestants’ were wrong, but then I realized that I looked at a wrong panel (I mixed up judge and contestant panel). Apparently there’s a bug in judge’s output. Hossam decided to remove that particular case (only 1 case) and rejudged the submissions. This happened very early in the contest so only a few teams knew about this.
Later there’re several reports about teams whose name in ranklist were wrong. Hossam investigated the problem and found the cause. It seems that all teams id are shifted by 3. To fix this the committee rename all teams manualy in PC2.
Before the contest begun, I said to Hossam that the problemset might be not hard enough for some strong teams. And I was right. Team +1 ironwood branch from National Taiwan University solved all the problems in just 3 hours, which made them the winner. And there are 3 more teams which solve all the problems in last hour.
The closing ceremony was quite simple but nice. There are two categories of champion, national and regional champion. The regional winners are:
1. +1 ironwood branch, National Taiwan University.
2. ETC, Fudan University.
3. Dongskar Pedongi, Institut Teknologi Bandung.
I think Dongskar Pedongi will qualify to World Final as ETC is not from this sub-region.
Meanwhile, BINUS teams were not doing well. They only solved 3 and 4 problems (compared to the winner which solved 9 problems).
Well, that’s my story in ACM-ICPC Kuala Lumpur.