ACM-ICPC
正式名称は「ACM国際大学対抗プログラミングコンテスト」(ACM International Collegiate Programming Contest)。世界最大級の、大学生を対象とした勝ち抜き型の競技プログラミングコンテスト。 #competitive-programming
名前が似ている ICFPC (ICFP Programming Contest) とは別のコンテスト。
歴史
1970年、テキサスA&M大学で開催されたコンテストが起源。1977年にACM主催の決勝大会として現在の形の原型が始まった。1997年にIBMがスポンサーに付くと参加数が急増し、2007年には1821大学・6700チームが参加する規模にまで成長した。
競技形式
- チーム構成: 3人1組。大学入学から5年以内(特定条件下は6年)の大学生に参加資格が限定される
- コンピュータ: チームに割り当てられるのは1台のみ。3人で1台のPCを共有しながら問題を解くため、優れたチームワークと時間配分が勝敗を分ける
- 問題数・制限時間: 5時間で8〜12問(通常10問前後)を解く
- 使用言語: C、C++、Javaのいずれかでプログラムを提出。テストデータで自動採点され、不正解なら再提出できる(ただしペナルティが付く)
- 順位決定: 正解数が多いチームが上位。同点の場合は、コンテスト開始からの経過時間に不正解1回につき20分を加算した合計時間の少なさで順位が決まる
大会構造
大学内のローカルコンテスト → 地区予選大会 → 世界大会、という段階構成。世界大会には1大学から1チームのみ出場でき、個人の出場は最大2回までに制限される。