Difference between revisions of "Validator"

From PC2wiki
Jump to: navigation, search
m (Output Validator: update results description)
m (Input Validator: changed some example names)
Line 49: Line 49:
  
 
Example:
 
Example:
   config/squares/input_validators/sqval/squares_valiator.cpp
+
   config/squares/input_validators/inval/squares_input_valiator.cpp
   config/squares/input_validators/sqval/build
+
   config/squares/input_validators/inval/build
   config/squares/input_validators/sqval/run
+
   config/squares/input_validators/inval/run
  
 
* build - a script to build the validator executable
 
* build - a script to build the validator executable

Revision as of 08:33, 25 November 2016

A validator is a program that validates team's output and judge's solutions and judge's data.

To use the PC² auto judge feature a Problem must be defined to use a validator.

Output Validator

An Output Validator judges a submission assigns a judgement.

An Output Validator can be use to validate:

  • a team's submission/solution
  • judge's solutions
  • problem samples

An output validator can be specified in the CDP under

config/<SHORT_NAME>/output_validators/<VALIDATORNAME>/<FILES>

Example:

 config/squares/output_validators/sqval/squares_valiator.cpp
 config/squares/output_validators/sqval/build
 config/squares/output_validators/sqval/run
  • build - a script to build the validator executable
  • run - a script to run the validator

run usage

run datafile answerfile feedbackfile [options] < teamsoutput

where

  • datafile - judge's input data file
  • answerfile - judge's expected output/answer file
  • feedbackfile - additional output from the validator, maybe of help to judges
  • teamsoutput - team's output

run results/output

  • exit code 42 - AC judgement (yes)
  • exit code 43 - WA judgement (no, wrong answer)
  • (non-42 exit code is either WA or JE (Judging Error)

Input Validator

An Input Validator validates judge's problem input data or sample data. The validator will read judge's input data and output whether the data is valid input for the Problem

An Input Validator can be use to validate:

  • a judge's input data file, input for Problem

An output validator can be specified in the CDP under

config/<SHORT_NAME>/input_validators/<VALIDATORNAME>/<FILES>

Example:

 config/squares/input_validators/inval/squares_input_valiator.cpp
 config/squares/input_validators/inval/build
 config/squares/input_validators/inval/run
  • build - a script to build the validator executable
  • run - a script to run the validator

run usage

run feedbackfile < datafile

where

  • datafile - judge's input data file
  • feedbackfile - additional output from the validator, maybe of help to judges

run results/output

  • exit code 42 - valid input data file
  • any other exit code - invalid input data file

See Also