Difference between revisions of "CCS Enhancements"

From PC2wiki
Jump to: navigation, search
m (Judging Type Section: add notes)
m (Timeout: add section)
Line 97: Line 97:
 
  timeout: 20
 
  timeout: 20
  
 +
 +
== Languages ==
  
 
==Load Data Files==
 
==Load Data Files==

Revision as of 11:17, 1 May 2016

The following are PC² additions to the CCS Standard.

contest.yaml file

The following are additions to the CCS Standard contest.yaml file.

Sites Section

The sites section defines all fields for each pc2 server/site

sites:
 - number: 1
     name: Site 1
       IP: 130.86.67.202
     port: 50002
 password: siteone

 - number: 2
     name: Site 2
       IP: 130.86.67.201
     port: 50002
number
site number
IP
site host or IP
port
port for server to listen on
password
if not present, then the default Joe password will be created. Ex. login: site2 password site2

Accounts Section

The accounts section defines team accounts, it has equivalent functionality to the Generate Accounts feature.

accounts:
 - account: TEAM
     site: 1
    count: 10
 
 - account: TEAM
     site: 2
    count: 10

- account: JUDGE
     site: 4
    count: 20

 - account: SCOREBOARD
     site: 4
    count: 1


Auto Judge

Automated Judging settings.

auto-judging:
  - account: JUDGE
     site: 1
     number: 2
     letters: A
     enabled: yes

  - account: JUDGE
     number: 4,5,6
     letters: B,C,D

  - account: JUDGE
     site: 2
     number: all
     letters: B,C,D

  - account: JUDGE
     site: 1
     number: 1,3
     letters: F
     enabled: no
site
the site number, default 1
number
the account number(s), use "all" to select all judges.
letters
the letter(s) for the problems to auto judge. Used "all" to select all problems.
enabled
whether auto judging is turned On, default yes

Minimum values are:

auto-judging:
  - account: JUDGE
     number: 7
     letters: E

Timeout

Global Setting.

The run-time execution time limit for all problems can be specified with the timeout key. A time limit can be overridden if a timeout is specified in the problem.yaml file.

# set run time limit for all problems to 20 seconds
timeout: 20


Languages

Load Data Files

In 9.3 files are loaded internally (stored within pc2) by default. A feature where one can use a CDP location

Load data files internally or externally.

load-data-files: true
load-data-files: false

Example of load-data-files in contest.yaml

# Contest Configuration, version 1.0
#
# PC^2 Version: Version 9.3 20151021 (Wednesday, October 21st 2015 03:55 UTC) Java ver 1.7.0_51 build 3230 Windows 7 6.1 (amd64)
#
# Created: 2015-10-22 21:46:00 PDT

name: '2015 CSUS Fall Contest'
short-name: '2015 Fall Contest'
start-time: 2015-10-23 17:00
duration: 4:00:00
# freeze time before end of contest
scoreboard-freeze: 1:00:00

# use external CDP files
load-data-files: false

# Judge CDP config path
judge-config-path: /home/team/cdp/config


(One other way to specify external files is in the admin pc2v9.ini file, set [server] externalfiles=yes, but using load-data-files is preferable.

Judge CDP Path

For files that are external to pc2 a Judge's path may be needed.

Under some circumstances the external CDP files will be under a different directory on the judge than the admin. To specify a different directory use:

judge-config-path: /home/pc2/cdp/config

Via the Admin UI specify the value in the field Location for Judge CDP Config on the Problems tab.

Example of load-data-files in contest.yaml

# Contest Configuration, version 1.0
#
# PC^2 Version: Version 9.3 20151021 (Wednesday, October 21st 2015 03:55 UTC) Java ver 1.7.0_51 build 3230 Windows 7 6.1 (amd64)
#
# Created: 2015-10-22 21:46:00 PDT

name: '2015 CSUS Fall Contest'
short-name: '2015 Fall Contest'
start-time: 2015-10-23 17:00
duration: 4:00:00
# freeze time before end of contest
scoreboard-freeze: 1:00:00

# use external CDP files
load-data-files: false

# Judge CDP config path
judge-config-path: /home/team/cdp/config

Judgements

Use the judgements to load allowed judgement into the system.

Example section and values.

accepted-judgement:
 - Accepted

judgements:
 - Compilation Error
 - Run-time Error
 - Time-limit Exceeded - No output
 - Time-limit Exceeded - Wrong output
 - Time-limit Exceeded - Insufficient output
 - Time-limit Exceeded
 - Wrong Output
 - No Output
 - Incomplete Output
 - Excessive Output
 - Output Format Error
 - Other - Contest Staff
 - Illegal Function

problem.yaml file

Problem Name

In the CCS the Problem name (full name) is in the LaTex problem.

In PC^2 the problem name is added as a key/value pair name in the problem.yaml file. For example:

name: A - Good or Bad?

Limits Section

For each problem a Run Time Limit can be specified in the limits section

# use 15 seconds for this problem definition
limits: 
   timeout: 15

Input Section

PC² has the option for a team solution (Run) to send data to the team's stdin or the team solution reads from file.

input: 
  readFromSTDIN: false
readFromSTDIN
team solution reads from stdin, default is true

Judging Type Section

This pc2 specific section configures a problem judging type

judging-type:
    computer-judged: true
    manual-review: false
    send-prelim-judgement: false

Note that manual review has a global default setting which can be set in the contest.yaml. By default a CDP load will mark a problem as computer judged.

    manual-review: false


At this time (11:16, 1 May 2016 (PDT)) there is no global yaml entry for manual-review.

pc2submit script

Additional command and command line options can be used, they are:

  1. --help lists options and command line syntax
  2. --check check parameters, list filename, problem and language, do not submit.
  3. --list list contest problem and languages
  4. --listruns list run info for the user

See pc2submit for more details.

Run Submission Interface

See Also