Difference between revisions of "Problem.yaml"

From PC2wiki
Jump to: navigation, search
m (See Also: updated links)
m (Sample problem.yaml: add many sections of validator yeml doc)
Line 54: Line 54:
  
 
The source, author, and rights_owner are optional.
 
The source, author, and rights_owner are optional.
 +
 +
=== Problem Time Out Limits ===
 +
 
 +
#Run-time Limit for the problem, in whole seconds
 +
limits:
 +
    timeout: 2
 +
 +
=== PC^2 Validator ===
 +
 +
validator:
 +
    validatorProg: 'edu.csus.ecs.pc2.validator.clicsValidator.ClicsValidator'
 +
    validatorCmd: '{:validator} {:infile} {:ansfile} {:feedbackdir} '
 +
    usingInternal: false
 +
    validatorOption: 1
 +
    use-internal-validator: false
 +
 +
=== CLICS Validator ===
 +
 +
#Validator configuration for the problem
 +
#(defaults if corresponding flag is omitted: NOT case-sensitive, NOT space-sensitive, NO float tolerances)
 +
 +
validator_flags: case_sensitive space_change_sensitive float_absolute_tolerance 0.001 float_relative_tolerance 1.
 +
 +
# case_sensitive - if not present then false.
 +
# space_change_sensitive  - if not present then false
 +
# float_absolute_tolerance 0.001  - if not present TODO
 +
# float_relative_tolerance 1. - if not present TODO
 +
 +
=== Judging Types ===
 +
 +
 +
#How the system handles judging for the problem
 +
judging-type:
 +
 +
    #Whether or not there will be an "Auto-Judge" used for this problem
 +
    computer-judged: true
 +
 +
    #Whether or not there will be manual review of submissions following auto-judging
 +
    manual-review: true
 +
 +
    #Whether or not teams should be sent a "Preliminary Notification" of the initial (computer) judgement
 +
    send-prelim-judgement: true
 +
 +
=== Input data source ===
 +
 +
#How the system manages input sent to team submissions
 +
input:
 +
 +
    #Whether the team submission is to read its input from stdin: yes if "true", no (meaning "open and read from a file") if false or missing
 +
    readFromSTDIN: true
 +
 +
Read input from stdin
 +
 +
input:
 +
    readFromSTDIN: true
 +
 +
Read input from a file
 +
 +
input:
 +
    readFromSTDIN: false
 +
 +
=== Stop of first failure ===
 +
   
 +
#Whether (true) or not (false) to stop execution upon the first occurrence of a failed test case
 +
stop-on-first-failed-test-case: true
 +
 +
Default is false, the system will test all data sets
  
 
==See Also==
 
==See Also==

Revision as of 09:47, 8 November 2019

The problem.yaml is one part of the set of files that compose a problem description and data files.

See the article Problem Format for a complete list of files that describe a problem.

Contents of problem.yaml

problem.yaml keys
Key Comments Example
source optional ICPC World Finals 2011
author optional, defaults to "Unknown"
license optional, defaults to "cc by-sa"
rights_owner mandatory ICPC
keywords optional
difficulty optional
limits problem limitations
validator optional, set of validator options, case_sensitive space_change_sensitive


PC^2 problem.yaml keys
Key Comments Example
name Problem Title Sumit Sample Problem

The problem name will typically be fetched from the Problem.tex file rather than using the name key.

Sample problem.yaml

# Problem configuration
source: ICPC Mid-Atlantic Regional Contest
author: John von Judge 
rights_owner: ICPC
# pc2-specific key 
name: Sumit Sample Problem

The source, author, and rights_owner are optional.

Problem Time Out Limits

#Run-time Limit for the problem, in whole seconds
limits:
    timeout: 2

PC^2 Validator

validator: 
    validatorProg: 'edu.csus.ecs.pc2.validator.clicsValidator.ClicsValidator'
    validatorCmd: '{:validator} {:infile} {:ansfile} {:feedbackdir} '
    usingInternal: false
    validatorOption: 1
    use-internal-validator: false

CLICS Validator

#Validator configuration for the problem
#(defaults if corresponding flag is omitted: NOT case-sensitive, NOT space-sensitive, NO float tolerances)

validator_flags: case_sensitive space_change_sensitive float_absolute_tolerance 0.001 float_relative_tolerance 1.

# case_sensitive - if not present then false.
# space_change_sensitive  - if not present then false
# float_absolute_tolerance 0.001  - if not present TODO
# float_relative_tolerance 1. - if not present TODO

Judging Types

#How the system handles judging for the problem
judging-type:
    #Whether or not there will be an "Auto-Judge" used for this problem
    computer-judged: true

    #Whether or not there will be manual review of submissions following auto-judging
    manual-review: true

    #Whether or not teams should be sent a "Preliminary Notification" of the initial (computer) judgement
    send-prelim-judgement: true

Input data source

#How the system manages input sent to team submissions 
input:

   #Whether the team submission is to read its input from stdin: yes if "true", no (meaning "open and read from a file") if false or missing
   readFromSTDIN: true

Read input from stdin

input:
    readFromSTDIN: true

Read input from a file

input:
    readFromSTDIN: false

Stop of first failure

#Whether (true) or not (false) to stop execution upon the first occurrence of a failed test case
stop-on-first-failed-test-case: true

Default is false, the system will test all data sets

See Also