ACM-ICPC 대회소개 및 참가조건, 규칙들

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 4 comments

https://blog.lael.be/post/148

2013년 대회일정

팀 등록 마감: 9월 13일 오후 4시 (잠정)

 

인터넷 예선 예비소집: 9월 27일 19시~20시

인터넷 예선 본 대회: 9월 28일 14시~17시

 

본 대회 일정: 11월 1일(금)~11월 2일(토)

 


 

ACM-ICPC라는 대회의 약자를 풀어보면

컴퓨터기계협회(Association for Computing Machinery)에서 운영하는

국제대학생 프로그래밍 경시대회(International Collegiate Programming Contest) 이다.

 

일반적으로 그냥 ICPC 라고 부른다.

이 경시대회는 IBM이 후원하며 Baylor University 에서 주관한다.

 

대륙별로 프로그래밍 대회를 하는데 (그러니까 Asia, Europe, Africa, North America, South America, Oceania) 한국은

Asia에 속하므로 여러분은 아시아 대회에 나가야 한다.

 

그런데 참가팀의 급증으로 국가마다 소규모의 지역대회를 실시한다.

우리나라의 경우 KAIST에서 ICPC 지역대회 운영권을 받아서 지역대회가 운영된다.


*팀구성

 

1명의 코치(대학의 구성원)+ 3명의 선수로 이루어진 팀이 이루어져야 한다.

 


 

*대회 참가자격

이 대회의 정식명칭이 국제대학생 프로그래밍 경시대회이기 때문에 당연이 대학에 입학한 사람이어야한다.

>대학에 입학한 지 5년이 초과한 학생은 참가할 수 없다.

>대회는 1년에 한번만 참가할 수 있다. (어차피 대회 1년에 한번함)

>대회 당일에 휴학중인 학생은 참가할 수 없다. (9월예선 및 11월본선)

(룰이 바뀐것 같습니다. 휴학이나, 교환학생, 인턴쉽중인 학생도 참여가 가능합니다.)

 

*군휴학 기간은 제외하고 계산한다.

 

대학 입학 기준이므로 일찍 졸업해서 5년째에 대학생이 아니어도 지원가능하다.

 

자격요건에 대해서 궁금한 사항이 있으면 한국 지역대회 관리자([email protected]) 로 메일을 보내고 문의한다.


*순위 결정방식

:: 지역대회 예선의 경우 푼 문제 수로만 결정한다.

알고리즘을 푼 소스코드를 심판프로그램(judge program)에게 제출하고 accept되면 푼 것으로 본다.

오답일 경우 reject 된다.

 

패널티점수도 측정되는데 {시간(분)} + {reject수*20} 이다.

3reject 를 했고 10분만에 정답을 맞추었으면

{10} + {3*20} = 70 패널티 점수.

 

같은수의 문제를 풀었을 경우 패널티가 낮은순으로 등수가 매겨진다.


*일정

예선(9월 첫째주;인터넷시험) + 본선(11월) 으로 이루어진다.

인터넷예선은 2일간 진행되며

첫날에는 몸풀기문제(평가되지 않는 연습용 문제)와, 둘째날에는 3시간이 주어지며 실제 문제를 풀게된다.

푼 문제수와 시간으로만 측정하며 보통 9문제중 3문제 이상풀면 본선에 진출한다.

 

 

본선은 대전에서 진행되며 5시간동안 이루어진다.

채점 및 시상도 같은날에 진행된다.


*자격연습 공식사이트

https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8
ACM-ICPC 공식 연습사이트. ACM-ICPC 기출문제 및 온라인 Judge 운영.

실제와 동일한 환경이다. (대회에서는 문제 제출을 전용프로그램을 사용한다는 것만 다르다)

알고리즘 수업을 들었었는데 ACM 문제 출제도 하시는 교수님께서 말씀하시길, 되도록 JAVA를 사용하라고 하셨다.
왜냐하면 ACM문제들이 간단하지만 자료구조를 필요로 하기 때문에 JAVA가 좋다고 한다.

예를들어 문제에서 binary search 기법을 사용해야하면 java는 import java.util.* 하면 끝이고 다른언어는 해당 기능을 구현해야 한다.
이외에도 stack, queue, tree, set 등의 자료형이 필요할 때도 있으므로 되도록 JAVA를 사용하자.

 


 

 

국내 운영사 사이트는 http://acm.kaist.ac.kr 이다.

 

이 글은 이 문서에 기반하여 작성하였다.

aa
pdf acmicpc_kor.pdf

4 Comments

  1. 음… 교수님이 되도록 Java를 사용하라고 하셨지만, 실제 대회장에서는 대부분의 학생들이 C++를 사용합니다.
    C++ STL에도 stack, queue, tree, set 등의 자료구조가 구현돼 있으며, 심지어 binary search, sort 등의 알고리즘들도 있습니다.
    다만 기본 정수형을 벗어나는 수를 다루거나 정규식 등을 사용할 때는 확실히 Java가 편하긴 합니다만, 기본 속도는 여전히 C++이 빠를 수밖에 없는 것 같습니다.

    1. 의견 감사합니다.
      굳이 C++ STL 까지 쓸수 있는 실력이라면 어떤 언어를 사용하든 상관 없을 것 같습니다.
      다만 입문자가 접하기에는 JAVA를 사용하는게 맞을 것입니다.
      C++이 대체로 JAVA보다 많이 빠르지만 구동시간은 점수와 관련이 없습니다.
      알고리즘만 맞으면 통과하도록 문제가 출제되니(출제자는 모든 언어에 대해서 충분한 시간을 제공함) 속도는 굳이 신경 안써도 될것입니다.

  2. Seoul University 다니시나요?
    ACM-ICPC출제하시는 교수님한테 배우시네요.☺

    1. 알고리즘 전공 교수님이 그곳에만 있진 않죠.
      출제 교수님께 배우니까 문제의 본질을 볼 수 있는 것 같아서 좋군요. (과외 받는 느낌)

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*