Basic Rules of ACM ICPC ?>

Basic Rules of ACM ICPC

Warning: The rules for IIUM Code Jam outlined here only applies for IIUM Code Jam 2015. Later IIUM Code Jam may have different rules.

Assalamualaikum everyone. ICTSS Education Bureau had announce an ACM ICPC style programming competition called IIUM CodeJam. It is an ACM ICPC style programming competition. Unfortunately not many people know what does it means by ‘ACM ICPC’ style programming competition. This post will introduce you on what are the basic rules and standard of ACM ICPC and the different of that with the newly announced IIUM CodeJam.

ACM ICPC Logo
ACM ICPC Logo

ACM ICPC basically means, Association for Computing Machinery – International Collegiate Programming Contest. Association for Computing Machinery is an organization while International Collegiate Programming Contest is the name of the contest. ACM ICPC is effectively the de-facto competitive programming contest for university student in the world.

ACM ICPC Asia Regional Kuala Lumpur 2010.. Or 2011 final. I don't know. I'm not in IIUM yet.
ACM ICPC Asia Regional Kuala Lumpur 2010.. Or 2011 final. I don’t know. I was not in IIUM yet.

In ACM ICPC, teams from universities around the world compete to see who is the best in problem solving. Each team consist of 3 student. Their task is to solve 10 problem of varying difficulties within 5 hour. By ‘solve’, I mean, create a small program that is capable of solving the problem. The problem are sorted arbitrarily. That means the first problem may not be the easiest problem and the last problem may not be the hardest problem. Each team will be given a computer, which they will use to code the solution within 5 hour. The computer will have a basic linux operating system with some standard editor and compiler along with a special software used to submit the solution.

The team than solve the most win. If two team solve the same number of problem, the team that solve faster wins. If a team submit a solution, but the solution is wrong, the team will be given a time penalty which is usually 20 minute. The penalty for a particular problem will only be applied when the team solved the problem. For example, if team A submit a solution at minute 10, but the solution is wrong, team A will given a 20 minute penalty when they submit it correctly. If they solve it correctly at minute 15, they are considered to solve it at minute 35. If team B solve it correctly at minute 25 in their first try, they are considered ahead of team A even though team A solve it correctly earlier at minute 15.

See that guy that you can see the face. His name is Amjad. You will see him a lot.
See that guy that you can see the face. His name is Amjad. You will see him a lot.

In IIUM CodeJam however, there will only be 7 question that must be solved within 3 hour. Each team will still consist of 3 undergraduate student. There are no restriction on the particular course, kuliyyah or year of student for team member. The only restriction is that, previous IIUM representative for ACM ICPC regional level are not allowed to participate, because it would be boring if they win. Also, instead of providing each team with a computer, each team must bring one (and only one) laptop of their own. Each team can bring an additional keyboard if they want. Please make sure the LAN port for the laptop is working, because it will need to be connected to a server through LAN. To provide a consistent environment between team and emulate the environment of actual ACM ICPC contest, each team will be given a CD ROM which they can boot. The CD ROM contain the same environment they will find in a normal ACM ICPC programming competition. If your laptop do not have a CD ROM drive, we will use a USB drive to boot.

Also, in both ACM ICPC and IIUM CodeJam, each team are allowed to bring 25 page of reference. The reference could be anything you want. Whether it is an algorithm implementation or a comic strip, it is up to you. Also, in IIUM CodeJam, each team are allowed to bring two books as reference. These could be an Algorithm book, or library reference, or a comic book. However, to prevent really unfair book usage, please submit us the book that you will use first.

Throughout the competition, a ranking board will be displayed through the front projector. The ranking board shows which team is currently leading, and what problem other have solved. This can help you to see which problem had been solved. Those problem are likely the easier problem, so you probably want to look into that. In ACM ICPC the ranking board will freeze 1 hour before times up to give a sense of mystery on who is the winner. In IIUM CodeJam, the board will freeze 40 minute before times up.

This teams have a lot of balloon. In Kuala Lumpur Asia Regional 2014. They must be super cool.
This teams have a lot of balloon. In Kuala Lumpur Asia Regional 2014. They must be super cool.

Also, one more fun thing. For each problem a team solve, the team will be given a balloon. So if your team solve a lot of question, other teams will look at you and say “that is a lot of balloon”. You can keep the balloon later as a souvenir and a reminder of how cool you are. Balloon giving is somewhat an ACM ICPC tradition.

Regarding the exact procedure on how to submit, what kind of program should you make, what are the programming language is allowed and what kind of programming problem you fill face, we will post various tutorial on this blog later on. If you have any question, suggestion, things that you want to be posted in this blog, feel free to comment down below. Be sure to join our Facebook Group for more update. Thank you for reading, I’m looking forward to see you on 9 Mei, and Assalamualaikum.