고려대학교 프로그래밍 경시대회 KCPC

주관: 고려대학교 SW중심대학사업단, 정보대학 ALPS, 정보보호학부 Alkor
후원: NAVER D2

일시

2020년 11월 28일 (토)
14:00 ~ 17:00 (3시간)

대회 개요

  • 입출력이 명시된 문제들을 보고 알고리즘과 논리적 사고를 통해 프로그램 코드를 제출해 문제를 해결하는 대회입니다.
  • 정답 문제 개수 / 풀이 시간을 종합해 순위가 책정됩니다.
  • 사용 가능 언어는 C/C++, Java, Python 입니다.
  • 순위와 관계없이 받을 수 있는 특별상이 준비되어 있습니다.

모집 링크

아래에 명시되어 있는 참가 기준을 숙지하시고, 해당하는 부문에 맞춰서 신청해 주시면 됩니다.
타 전공/신입생 부문 신청의 경우 참가 기준에 부합하는지 확인하기 위해 운영진 측에서 추가 서류를 요청할 수 있습니다. 또한, KOI나 ICPC 등 대회에서 실적이 있는 경우 일반 부문으로 임의 변경될 수 있습니다.
  • 타 전공/신입생 부문: 다음 세가지 조건 중 하나를 충족시키는 경우 참가 가능
    • 컴퓨터학과, 사이버국방학과 20학번 재/휴학생
    • 정보대학, 정보보호학부 소속 제2전공 2학기 이내 재/휴학생
    • 타 전공 재/휴학생
  • 일반 부문: 고려대학교 학부 재학생/휴학생 누구나 참가 가능
2020 KCPC 모집 링크 신청은 11월 25일 오후 11시 59분까지 가능합니다.

일시 및 장소

2020년 11월 28일 토요일 14:00 ~ 18:30

줌을 이용한 비대면 대회

13:30 - 13:55 참가자 등록 및 대회 안내
14:00 - 17:00 대회 진행 (3시간)
17:00 - 17:30 문제 풀이 진행 및 후원사 소개
17:30 - 18:30 수상자 발표 및 시상

시상 내용

총 280만원 + a 상당의 상금이 기다리고 있습니다!

각 부문별로,
  • 대상(1명): 40만원
  • 최우수상(2명): 각 20만원
  • 우수상(4명): 각 15만원
  • 특별상 n명: 시상 기준은 대회날 시상식 때 공개됩니다.

2020 KCPC 세부 규정

참가 규정

  • 참가자의 전체 범위는 2020년 2학기 현재 고려대학교 학부 재학생과 휴학생으로 제한합니다.
  • 부득이한 이유로 대회 당일 날 참가가 불가능한 경우에는 반드시 운영진에 연락을 주셔야 합니다.
  • 대회 운영진, 대회 문제 출제진은 대회에 참가자로 신청할 수 없습니다.
  • 타 전공/신입생 부문은 정보대학/정보보호학부 2학년 이상이 아니어야 하며, 다음의 조건들 중 하나를 충족시키는 경우만 참가할 수 있습니다.
    • 컴퓨터학과, 사이버국방학과 소속 재/휴학생 중 2020학년도에 입학한 학생 (학년 무관)
    • 컴퓨터학과 이중전공 재/휴학생 중 이중전공을 시작한지 만 2학기가 되지 않은 학생
    • 정보대학, 정보통신대학, 정보보호대학원 소속 융합전공을 시작한지 만 2학기가 되지 않은 학생
    • 소프트웨어벤처융합전공, 인공지능융합전공, 정보보호 융합전공 / 정보대학
    • 뇌인지과학융합전공 / 정보통신대학
    • 융합보안융합전공 / 정보보호대학원
    • 정보대학, 정보보호대학원 소속이 아닌 타 전공 재/휴학생
  • 일반 부문은 고려대학교 학부 재학생과 휴학생 누구나 참가할 수 있습니다.

대회 규칙

  • 사용 가능한 언어는 C, C++, Java, Python 3, PyPy 3입니다.
  • 참가자는 팀노트와 검색이 허용되며, 참가자 간 코드 공유는 엄격히 금지됩니다.
  • 모든 문제에 대해 제약 조건을 만족하며 정답을 출력하는 C++17 코드가 있음이 보장됩니다.
  • 대회는 대회 전용 DOMjudge 사이트에서 치뤄지며 문제, 채점 실시간 정보 등을 확인할 수 있습니다.
  • 순위는 푼 문제가 많은 순서대로, 푼 문제 수가 같을 경우에는 패널티의 합이 낮은 순으로 정렬됩니다.
  • 컴파일 에러는 제출 횟수에 포함되지 않습니다.

금지 / 제한 행위

컴퓨터를 두 대 이상 사용하는 것을 금합니다.
운영진에게 질문하는 것 외에 다른 사람과 대화하는 것을 금합니다.
문제 제출을 비정상적으로 많이 시도하거나, 의도적으로 대회 웹 서버를 공격하는 행위를 금합니다.
대회 규칙을 어기거나, 운영진이 판단하기에 부정한 행위를 저지를 경우 경고 없이 대회 참가 자격이 박탈될 수 있습니다.

채점 서버 환경

채점 서버의 플랫폼은 DOMjudge입니다.

컴파일 옵션 및 시간 보정

사용가능한 언어와 컴파일 옵션 및 제한 시간 보정은 다음과 같습니다. "$@"는 업로드한 코드 및 생성된 프로그램 이름입니다.

C11 (gcc 8.3.0)
컴파일 : gcc -x c -Wall -O2 -std=c11 -static -pipe -o "$DEST" "$@" -lm
실행 : exec "$@"

C++17 (g++ 8.3.0)
컴파일 : g++ -x c++ -Wall -O2 -std=c++17 -static -pipe -o "$DEST" "$@" -lm
실행 : exec "$@"

Java (Java 11.0.4)
컴파일 : javac -encoding UTF-8 -sourcepath . -d . "$@" 2> "$TMPFILE"
실행 : java -Dfile.encoding=UTF-8 -XX:+UseSerialGC -Xss${MEMSTACK}k -Xms${MEMLIMITJAVA}k \ -Xmx${MEMLIMITJAVA}k '$MAINCLASS' "\$@"

MEMSTACK은 65536이며, MEMLIMIT은 문제의 제한에서 128MB를 뺀 값입니다.
시간 : 3배

Python 3 (Python 3.7.3)
컴파일 : python3 -m py_compile "$@"
실행 : python3 "$@"
시간 : 4배

PyPy 3 (PyPy 7.0.0 with GCC 8.2.0 (Python 3.5.3))
컴파일 : python3 -m py_compile "$@"
실행 : pypy3 "$@"
시간 : 4배

DOMjudge 채점

DOMjudge에 코드를 업로드할 때는 다음 조건을 지켜야 합니다.

파일 이름은 알파벳 및 숫자로 시작해야 하며, 알파벳 대소문자 / 숫자 / +._-만 사용 가능합니다.
확장자는 C는 .c, C++는 .cpp / cc / cxx / c++, Java는 .java, Python은 .py / .py3여야 합니다.
제출한 코드는 표준 입출력만으로 통신하여야 합니다 (파일 입출력은 금지됩니다).
제출한 소스코드의 크기는 256 MiB 이하여야 합니다.
한 문제에 제출은 최대 100번 할 수 있습니다.

DOMjudge 채점 결과

Submit을 한 다음에 Scoreboard 탭에서 제출 결과를 확인할 수 있습니다.
PENDING : 제출되었으며, 채점 대기중이거나 채점중입니다.
CORRECT : 제출한 코드가 모든 테스트 케이스에 대해 시간 제한 / 메모리 제한 내에서 올바른 답을 내었고, 정상적으로 종료되었습니다. 이 경우 제출자는 해당 문제를 풀었습니다.
COMPILER-ERROR : 컴파일 과정 중에 에러가 발생하여 채점이 진행되지 않았습니다.
TIMELIMIT : 프로그램 수행 시간이 제한 시간을 초과하였습니다.
RUN-ERROR : 프로그램 수행 중 에러가 발생하였습니다. (예시 : 0으로 나누기, 잘못된 주소 참조)
WRONG-ANSWER : 프로그램이 오답을 출력하였습니다.
OUTPUT-LIMIT : 프로그램이 지나치게 많은 출력을 하였습니다.
CORRECT가 아닌 결과가 나온 테스트 케이스가 최초로 등장하면, 해당 채점 결과가 제출 결과로 보여집니다.
대회 중 ‘request clarification’ 탭을 통해 주최진에게 질문을 물을 수 있습니다.