Contest Environment

Contest environment

Hardware:

Each team at the HCMC Regionals will be provided with one workstation consisting of the following hardware:

    .....update latter....

    No hardware substitutions will be allowed (that is, teams may not bring their own equipment onto the contest floor).  This includes that teams may not substitute keyboards or other peripherals; all teams will use identical equipment during the contest.

    Software:

    The software configuration for HCMC Regionals will consist of the following:

    o    OS:

    o    Ubuntu 16.04.3 LTS Linux (64-bit)

    o    Desktop:

    o    GNOME

    o    Editors

    o    vi/vim

    o    gvim

    o    emacs

    o    gedit

    o    geany

    o    kate

    o    Languages:

    o    Java

    o    OpenJDK version 1.8.0_131

    o    OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)

    o    OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

    o    C

    o    gcc (Ubuntu 5.4.0-6ubuntu116.04.4) 5.4.0 20160609

    o    C++

    o    g++ (Ubuntu 5.4.0-6ubuntu116.04.4) 5.4.0 20160609

    o    Python 2

    o    Python 2.7.10 (implemented using PyPy 5.1.2). A list of the installed modules can be found here

    o    Python 3

    o    CPython 3.5.2.  A list of the installed modules can be found here

    o    IDEs:

    o    Eclipse 4.7 (Oxygen), configured with:

    o    Java (OpenJDK version 1.8.0_131)

    o    C/C++ (CDT 9.3.0 with Ubuntu 5.4.0-6ubuntu116.04.4 5.4.0 20160609)

    o    PyDev (Python) 5.8.0

    o    IntelliJ (IDEA Community Edition 2017.2.3), configured with:

    o    Java (version TBD)

    o    CLion (version 2017.2.2), configured with

    o    C/C++ (version TBD)

    o    Pycharm Community Edition Python IDE version 2017.2.2

    o    Code::Blocks (version 13.12+dfsg-4), configured with

    o    Java (OpenJDK version 1.8.0_131)

    o    C/C++ (CDT 9.3.0 with Ubuntu 5.4.0-6ubuntu116.04.4 5.4.0 20160609)

    Compilation of Submissions

    During the contest, teams will submit proposed solutions to the contest problems to the Judges using KATTIS contest control system. Source files submitted to the Judges will be compiled using the following command line arguments for the respective language:

    o    C:

    gcc -g -O2 -std=gnu11 -static $* -lm

    o    C++:

    g++ -g -O2 -std=gnu++14 -static $*

    o    Java:

    javac -encoding UTF-8 -sourcepath . -d . $*

    o    Python 2

    python2 -m py_compile $* 

    o    Python 3

    python3 -m py_compile $*

    The "$*" in the above commands represents the list of source files from the submission which will actually be compiled. Files with the following suffixes (and only files with these suffixes) will be submitted to the compiler:

    o    For C submissions: files ending with .c

    o    For C++ submissions: files ending with .cc, .cpp, .cxx, .c++, or .C

    o    For Java submissions: files ending with .java

    o    For Python submissions: files ending with .py

    Execution of Submissions

    For each language, if the above compilation step is successful then the submission will be executed as follows:

    o    For C/C++:  the executable file generated by the compiler will be executed to generate the output of the submission.  

    o    For Python 2: the submitted file will be passed to the PyPy Python interpreter to generate the output of the submission.

    o    For Python 3: the submitted file will be passed to the CPython Python3 interpreter to generate the output of the submission.

    o    For Java: the compiled main class will be executed using the following command:

    java -XX:+UseSerialGC -Xss64m -Xms1920m -Xmx1920m

    Execution as described above will take place in a "sandbox".  The sandbox will allocate 2GB of memory; the entire program, including its runtime environment, must execute within this memory limit.  For interpreted languages (Java and Python) the runtime environment includes the interpreter (that is, the JVM for Java and the Python interpreter for Python).

    The sandbox memory allocation size will be the same for all languages and all contest problems.  For Java, the above command shows the stack size and heap size settings which will be used when the program is run in the sandbox.  For C, C++, and Python, the heap and stack sizes are limited only by the total amount of memory available in the sandbox.


    Team Notebook:

    Note: Team Reference Document ( http://cm.baylor.edu/ICPCWiki/Wiki.jsp?page=On-Site%20Registration):
    "This document may contain up to 25 pages of reference materials, single-sided, letter or A4 size, with pages numbered in the upper right-hand corner and your university name printed in the upper left-hand corner. Text and illustrations must be readable by a person with correctable eyesight without magnification from a distance of 1/2 meter. It may include hand-written comments and corrections on the fronts of pages only."

    Detail: http://icpc.baylor.edu/icpc/finals/notebook/TeamNoteBook-Handouts.pdf

    Dictionary

    A language dictionary (English-Vietnamese, English-Chinese ..) is allowed in the contest area

    Ċ
    Long Nguyen,
    Nov 24, 2010, 8:07 AM
    Comments