Thiết bị - Môi trường

QUY ĐỊNH THIẾT BỊ, MÔI TRƯỜNG VÀ NGÔN NGỮ SỬ DỤNG

TRONG KỲ THI ICPC ASIA HOCHIMINH CITY 2022

Kỳ thi ICPC Asia HCMC sẽ thi tại tầng 6, Toà nhà Trung tâm trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh

(New 30/11)

Thông tin:

Máy tính cho Kỳ thi ICPC Asia HoChiMinh city 2022:

Hardware System Unit

HP EliteDesk 800 G3 SFF, Core i7-7700, VGA NVIDIA GeForce GT730 2GB, Ram 8GB, SSD 120GB

External screen: Standing screen display size: 19 Inches Max Screen Resolution: 1280 x 1024 Brand: HP

External keyboard: HP KU- 1469

External Mouse: HP

Webcam: None

OS: Ubuntu 20.04

Chú ý: Thí sinh KHÔNG ĐƯỢC PHÉP MANG KEYBOARD Mouse ngoài của mình vào KHU VỰC THI

Thí sinh chuẩn bị sẵn TEAM NOTEBOOK (không quá 25 trang A4) nộp BTC sau khi Practice (chiều 8/12/2022)

Software:

ICPC (giống Siêu cúp/Chuyên tin)

Hệ điều hành Ubuntu 20.04

IDE

Codeblocks

Pycharm

Eclipse

Intellij

Editor

vim, gedit

Ngôn ngữ & câu lệnh dịch TRÊN: https://oj.vnoi.info/runtimes/


Cụ thể các IDE như sau:

  • Eclipse (version 2020) cấu hình cho Java

  • IntelliJ (IDEA Community Edition, version 2020.3), cấu hình cho Java và Kotlin

  • CLion (version 2020.3), cấu hình cho C/C++

  • Pycharm Community Edition Python IDE (version 2020.3.1), cấu hình cho Python 3

  • Code::Blocks (version 20.03-3), cấu hình cho C/C++

  • VS Code(version 1.5.2) cấu hình cho Java, C/C++


Các compiler cụ thể như sau:

  • Java

    • OpenJDK version “11.0.9.1” 2020-11-04

    • OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)

    • OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

  • C

    • gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

  • C++

    • g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

  • Python 3

    • PyPy 7.3.3 with GCC 9.3.0: Python 3.6.12 (7.3.3+dfsg-2~ppa1~ubuntu20.04, Dec 20 2020, 00:32:23).

  • Kotlin

    • Version 1.4.21-release-351 (JRE 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)


Máy thi hỗ trợ các câu lệnh để build bằng Command-line như sau

  • C:

gcc -g -O2 -std=gnu11 -static ${files} -lm

  • C++:

g++ -g -O2 -std=gnu++17 -static ${files}

  • Java:

javac -encoding UTF-8 -sourcepath . -d . ${files}

  • Python 3

pypy3 -m py_compile ${files}

  • Kotlin

kotlinc -d . ${files}

CHÚ Ý : Ngôn ngữ sử dụng: Tiếng Anh

(30/11) Chú ý: hướng dẫn cho thí sinh:

Đây là phần nội dung sẽ hướng dẫn cho thí sinh để in tài liệu trong kỳ thi ICPC

Printing

● There will be runners who will deliver printed output to your team workstation (teams will not have direct access to the printers).

● To generate printed output, use the printfile command (see below). Printing files from within IDEs and other applications may work but is not guaranteed.

● To use the printfile command, go to a command prompt (open a shell terminal window) and type

printfile <filename>

where <filename> is the name of the file you want printed. Print jobs are limited to a few pages long; printing excessively long output will be deemed an activity detrimental to the contest and subject to disqualification.

In tài liệu/mã nguồn

● Trong kỳ thi sẽ có các tình nguyện viên đưa tài liệu được các đội thi in ra đến bàn thi của đúng đội thi (Đội thi không được truy cập trực tiếp vào máy in)

● Để in một tài liệu (mã nguồn, văn bản), dùng lệnh printfile (xem bên dưới). Việc gọi lệnh in trực tiếp từ cửa sổ câu lệnh của các IDE và những ứng dụng khác cũng có thể có tác dụng (tuy nhiên BTC không đảm bảo điều đó).

● Để sử dụng lệnh printfile, mở cửa sổ command-prompt (cửa sổ gõ lệnh) và gõ

printfile <Tên file văn bản>

Trong đó <Tên file văn bản> là đường dẫn đến file văn bản cần in. Lưu ý file văn bản cần là file nội dung text thuần (file mã nguồn, txt,...), không phải các loại file có định dạng như word hay excel. Việc in ấn được giới hạn ở mức phù hợp cho mỗi đội thi, việc cố tình in một nội dung rất dài sẽ được xem là hoạt động gây bất lợi cho cuộc thi và đội thi sẽ có nguy cơ bị đình chỉ thi.

Kết nối mạng tập trung của BTC ICPC Asia HoChiMinh

Contest Environment

Chỉ dành cho tham khảo (từ các kỳ thi trước đây từ các công bố của ICPC toàn cầu, Việt Nam và Khu vực)

Software

The software configuration for the World Finals will consist of the following:

    • OS:

    • Ubuntu 18.04.3 LTS Linux (64-bit)

    • Desktop:

    • GNOME

    • Editors

    • vi/vim

    • gvim

    • emacs

    • gedit

    • geany

    • kate

    • Languages:

    • Java

    • OpenJDK version "11.0.4" 2019-07-16

    • OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)

    • OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)

    • C

    • gcc (Ubuntu 7.4.0-1ubuntu118.04.1) 7.4.0

    • C++

    • g++ (Ubuntu 7.4.0-1ubuntu118.04.1) 7.4.0

    • Python 3

    • PyPy 7.1.1 with GCC 7.4.0: Python 3.6.1. A list of the installed modules can be found here.

    • Kotlin

    • Version 1.3.50 using JVM as listed above

Note that Python 2 is no longer supported at the World Finals.

    • IDEs:

    • Eclipse 4.13 (2019-09), configured with:

    • JDT (Java Development Tools version 3.18.100.v20190916-1045 using Java as listed above)

    • CDT (C/C++ Development Tools version 9.9.0.201909091956 using C/C++ as listed above)

    • PyDev (Python Development Environment version 7.3.0.201908161924 using Python 3 as listed above)

    • IntelliJ (IDEA Community Edition version 2019.2.2), configured with:

    • Java as listed above

    • Kotlin plugin 1.3.41-release-IJ2019.2

    • CLion (version 2019.2.2), configured with:

    • C/C++ as listed above

    • Pycharm Community Edition Python IDE (version 2019.2.2), configured with:

    • Python 3 as listed above

    • Code::Blocks (version 17.12-1), configured with:

    • C/C++ as listed above

Compilation of Submissions

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

    • C:

gcc -g -O2 -std=gnu11 -static ${files} -lm

    • C++:

g++ -g -O2 -std=gnu++17 -static ${files}

    • Java:

javac -encoding UTF-8 -sourcepath . -d . ${files}

    • Python 3

pypy3 -m py_compile ${files}

    • Kotlin

kotlinc -d . ${files}

The "${files}" 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:

    • For C submissions: files ending with .c

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

    • For Java submissions: files ending with .java

    • For Python submissions: files ending with .py

    • For Kotlin submissions: files ending with .kt

Execution of Submissions

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

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

    • For Python 3: the main source file will be executed by the PyPy3 Python3 interpreter to generate the output of the submission.

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

java -Dfile.encoding=UTF-8 -XX:+UseSerialGC -Xss64m -Xms1920m -Xmx1920m

    • For Kotlin: the compiled main class will be executed using the following command:

kotlin -Dfile.encoding=UTF-8 -J-XX:+UseSerialGC -J-Xss64m -J-Xms1920m -J-Xmx1920m

Compilation and execution as described above will take place in a "sandbox" on a dedicated judging machine. The judging machine will be as identical as possible to, and at least as powerful as, the machines used by teams. The sandbox will allocate 2GB of memory; the entire program, including its runtime environment, must execute within this memory limit. For interpreted languages (Java, Python, and Kotlin) the runtime environment includes the interpreter (that is, the JVM for Java/Kotlin and the Python interpreter for Python).

The sandbox memory allocation size will be the same for all languages and all contest problems. For Java and Kotlin, the above commands show the stack size and heap size settings which will be used when the program is run in the sandbox.

Build Instructions

Instructions for building a system identical to what is planned for team use at the World Finals are posted here. Please note that the image created by these instructions is a draft, subject to changes as we approach the World Finals. See the Revised list at the bottom of that page to determine the most recent change date.

Reference Materials

These packages will be available on team machines at the World Finals, and will be installed automatically as part of the steps listed under Build Instructions, above.

    • JDK JavaDocs

    • C++ STL docs

We welcome all suggestions and comments. This configuration is subject to change until the final update. All questions about the system configuration should be directed to John Clevenger, ICPC Technical Director.

Xem trên: https://icpc.global/worldfinals/programming-environment

Rules on Team Notebooks

(as of November 29-30, 2012)

Được mang từ điển Anh - Việt vào khu vực thi

Yêu cầu về cụ thể về team notebook xem trên http://icpc.baylor.edu/icpc/finals/notebook/default.htm.

Xem và download mục : TeamNoteBook-Handouts (ở phần Tệp đính kèm)

Lưu ý: Team Reference Document với các yêu cầu đơn giản hơn ( xem trên 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."

Hướng dẫn chi tiết trên http://icpc.baylor.edu/icpc/finals/notebook/TeamNoteBook-Handouts.pdf