2018 Environment and Judging
Note: You are encouraged to bring hardcopies of this page or any other pages from our web site to the Regional Contest.
Each team will be provided with a single computer with a monitor, keyboard and mouse; three chairs; and a small work area.
Each team will have a machine of its own to use during the contest. During the contest, contestants are to use the network only to submit contest problems or questions and get responses from the contest officials. Connecting to any other computer on the LAN or Internet, either before or during the contest, with telnet, FTP, Web browser, email, or any other network application is grounds for expulsion from the contest.
This year the Southern California Regional Contest will be using Fedora 28 as the host OS for the environment. We will be supplying Eclipse as an IDE along with the JetBrains IDEs (IntelliJ IDEA, CLion, PyCharm), but will include Geany, vim, emacs and other standard command line editors.
The contest will be providing one USB flash drive per team. You will be allowed to copy your code to it at the end of the contest and take it with you.
Lastly, the contest will use the web based judging environment called DOMJudge. Please download and read the Team Manual for information on how to use the DOMJudge interface.
If you have any questions about the Contest Environment, send them to <systems@socalcontest.org> .
Platform
-
Intel Core i7 CPUs
-
Fedora 28 Linux (64-bit)
-
XFCE 4.12 Desktop
You will have all the tools that accompany a basic installation of Linux: AWK, Python, perl, and many others. These tools simply tag along with the installation process. Any languages or programs beyond the tagalongs, the compilers, and the tools stated below are installed at the convenience and discretion of the environment manager, <systems@socalcontest.org>.
Programming Languages
The judges accept problem submissions only in the following programming languages.
Language |
Version |
C |
gcc 8.1.1 |
C++ |
g++ 8.1.1 |
Java |
jdk SE 1.8.0_181 from java.oracle.com |
Included Python 3 |
Python 3.6.6 standard release; no external libraries |
The execution time limits set for each problem will NOT be scaled based on the language. It is the individual contestant’s responsibility to select the appropriate algorithm(s) and language tool to produce correct output within the allotted time limits.
C++:
Programs will be compiled and linked using the Standard C++ Library included by default with g++.
Python:
Regional judges will accept solutions coded in Python 3, but do not guarantee the problems posed can be solved using Python 3.
The following tools and documentation will be available online in the system image:
IDEs |
Debuggers |
Documentation |
Eclipse 4.9.0 with C/C+ dev tools 9.5.3 and pydev 6.5.0 |
gdb 8.11 |
UNIX manual pages |
Geany 1.33 |
DDD 3.3.12 |
Java html-based API docs (Javadoc)
|
IntelliJ IDEA 2018.2 |
jdb 1.8 (Java SE version 1.8.0_181) |
C++ Standard Library documentation
|
CLion 2018.2 |
|
Local Documentation for Python 3 |
PyCharm 2018.2 |
|
|
Editors
Editor |
Version |
Notes |
emacs |
26.1 |
character based (emacs -nw) and mouse based (emacs) |
vim |
8.1.408 |
Vi IMproved, character based (vi, vim) |
Mousepad |
0.4.1 |
Fast text editor for the XFCE desktop environment |
ed |
1.14.2 |
line-oriented text editor |
Note: jed and pico are not supported.
Judging
After you have submitted a source file for judging, your submission will be run with one or several sets of input data and the results reviewed. It is the judges' intent never to reveal directly or indirectly the specific input data the judges use to test contestant programs. The judges will respond to your submission with one of the following messages. If a submission contains more than one type of error, the response will still contain only one message. The judges will report only the first error seen, which may not necessarily be the error that occurs first or most frequently in the output.
Response |
Description |
CORRECT |
The submission passed all tests: you solved this problem! Correct submissions do not incur penalty time. |
COMPILER-ERROR |
There was an error when compiling your program. Note that when compilation takes more than 30 seconds, it is aborted and this counts as a compilation error. |
TIMELIMIT |
Your program took longer than the maximum allowed time for this problem. Therefore it has been aborted. This might indicate that your program hangs in a loop or that your solution is not efficient enough. |
RUN-ERROR |
There was an error during the execution of your program. This can have a lot of different causes like division by zero, incorrectly addressing memory (e.g. by indexing arrays out of bounds), trying to use more memory than the limit, etc. Also check that your program exits with exit code 0! |
NO-OUTPUT |
Your program did not generate any output. Check that you write to standard out. |
OUTPUT-LIMIT |
Your program generated more output than the allowed limit. The output was truncated and considered incorrect. |
WRONG-ANSWER |
The output of your program was incorrect. This can happen simply because your solution is not correct, but remember that your output must comply exactly with the specifications of the judges. |
Although we do use robo-judge where possible, we verify every response before returning it to the team to ensure accurate, quality responses. The effect of this is that, depending on solution traffic and other factors, response times may vary.
|