(9/25 19:00 수정) 2022 ICPC 서울 지역대회 예선 환경 및 시스템 공지

[9/25 19:00] 본 공지는 2022 ICPC 서울 지역대회 예선에 한정된 공지입니다. 본선대회 소프트웨어/하드웨어 환경은 별도 공지 예정입니다. 혼란을 빚어 죄송합니다.

2022년 한국 대학생 프로그래밍 경시대회 및 ACM-ICPC Seoul Regional 대회 PC 환경과 채점 시스템을 공지합니다.

인터넷 예선 참가팀 PC 환경 (PC environment for online national first round contest and regional contest)

인터넷 예선에서 참가팀이 사용하는 PC의 OS에는 제약이 없습니다. 인터넷 예선에서는 대회 규칙을 지키면서 참가팀별로 한 대의 PC (Linux, Windows, MacOS 등도 가능) 및 개발 환경을 선택하여 대회에 참여하게 됩니다. 단, 공식 채점 환경(언어 및 컴파일러)과의 불일치로 인해 발생할 수 있는 문제(e.g. 컴파일 오류, undefined behavior로 인한 다른 결과 등)에 대해서 유의하여야 합니다.

There is no constraint about Operating Systems participants use in the first round and the regional contest. Each team participates in the contest with one PC (any OS is allowed, e.g. Linux, Windows, MacOS), with their own development environment, while following the contest rules. Please note that there might be errors like compiliation errors and undefined behaviors if you are participating in the contest with the different versions of compilers.

언어 및 컴파일러 (Languages / Compilers)

C/C++:

  • gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 (gcc -g -x c -Wall -O2 -std=gnu11 -static -pipe -DONLINE_JUDGE -DDOMJUDGE $* -lm)
  • g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 (g++ -g -x c++ -Wall -O2 -std=gnu++17 -static -pipe -DONLINE_JUDGE -DDOMJUDGE $*)

Java:

  • openjdk 11.0.16 2022-07-19
  • OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
  • OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
  • javac -encoding UTF-8 -sourcepath . -d . $*
    java -client -XX:+UseSerialGC -Xss64m -Xms1920m -Xmx1920m -Dfile.encoding=UTF-8 \
    -DONLINE_JUDGE=1 -DDOMJUDGE=1 $*

Python 3:

  • Python 3.7.13 (7e0ae751533460d5f89f3ac48ce366d8642d1db5, Mar 29 2022, 06:03:31)
    • PyPy 7.3.9 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)
    • pypy3 -m py_compile $*
  • 채점 서버에 설치된 모듈 목록은 여기를 참조하세요.
  • A list of the installed modules can be found here

대회 채점 시스템 (Contest System)

Web 기반 채점 시스템인 DOMjudge 8.1.2 (https://www.domjudge.org/) 를 사용합니다

문의가 있을 경우 acmicpc@icpckorea.org 로 연락주시기 바랍니다.


Python 3 지원에 관한 ICPC Seoul Regional 디렉터의 의견:

World Final 에서 Python 3를 오래전부터 지원했었고 그동안 많은 요청이 있어왔는데 국내대회에서는 아직 지원을 하지 않아 왔습니다.
이번 2022년 예선부터 Python3 를 지원하기로 했습니다. 또한 별 문제가 발생하지 않는다면 본선에서도 계속 지원할 예정입니다.
지금까지 지원하지 않았던 이유는 Python 이 쉬운 문제를 간단한 코드로 빠르게 해결할 수 있는 반면 시간제한 조건이 엄격한 문제는 성능상의 이유로 간단한 코드를 작성하지 못 하기 때문에 다른 언어로 할 때와는 다른 시간제약조건을 주어야하기 때문입니다.
아직 주최측에서 모든 문제를 Python으로 검증하고 시간제한을 따로 만들기위한 준비는 되지 않았습니다.
하지만 이 이유로 계속 미루는 것은 바람직하지 않다고 생각되기 때문에 python의 사용을 허용하는 대신에 시간 제약은 C++/Java와 동일하게 가져가기로 하겠습니다.
다시 말씀드려서 같은 문제를 Python으로 해결했는데 다른 언어로 해결한 방식보다 시간이 더 많이 걸렸다면 정답으로 채택되지 않을 가능성이 있다는 사실입니다.
World Final에서도 “C++/Java/Python 3 세 언어 중 두 언어 이상으로 풀 수 있음을 보장한다” 는 문구가 있기 때문에 이것이 지나친 제약조건은 아니라고 생각됩니다.
또한 Python에서 사용할 수 있는 패키지에도 제한이 있습니다. 사용가능한 패키지의 리스트는 여기에서 확인하실 수 있습니다.
Python으로 문제를 풀기 원하는 참가자들은 이 리스트를 꼭 확인하시기 바랍니다.