11# Workflow
2- This documents aims to show the typical workflow of preparing a problem with BAPCtools and might be useful as a guide.
2+ This document aims to show the typical workflow of preparing a problem with BAPCtools and might be useful as a guide.
33We start with the creation of a new problem and end after uploading it to DOMjudge.
4- Along the way, all commands that are used for various stages of problem preparaion are explained.
4+ Along the way, all commands that are used for various stages of problem preparation are explained.
55
66> [ !CAUTION]
7- > Do not use BAPCtools on probem packages from untrusted sources.
7+ > Do not use BAPCtools on problem packages from untrusted sources.
88> Programs are ** not** run inside a sandbox.
99> Malicious submissions, validators, visualizers, and generators can harm your system.
1010
@@ -28,7 +28,7 @@ Along the way, all commands that are used for various stages of problem preparai
2828
2929## Problem Directory
3030A problem directory is specified by the existence of a ` problem.yaml ` .
31- However, to set up a proper problem we need some more sub directories and files.
31+ However, to set up a proper problem, we need some more subdirectories and files.
3232
3333#### Required Files
3434``` ini
@@ -55,7 +55,7 @@ Problem
5555```
5656> [ !IMPORTANT]
5757> There can be many input/answer validator* s* but only one output validator.
58- > Therefore, its the only of those directories which does not end with a plural s .
58+ > Therefore, it is the only one of those directories that does not end with a plural * s * .
5959#### Optional Files
6060``` ini
6161Problem
@@ -104,14 +104,14 @@ BAPCtools offers two commands to offer such an overview.
104104
105105#### ` bt stats `
106106This shows a summary of files and programs that have been added to the problem.
107- The output should look similiar to this:
107+ The output should look similar to this:
108108``` ini
109109problem time yaml tex sol val: I A O sample secret bad good AC WA TLE subs c(++) py java kt comment
110110A <name> 1.0 Y 0 0 N N 0 0 0 0 0 0 0 0 0 0 0 0
111111-------------------------------------------------------------------------------------------------------------------
112112TOTAL 1.0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
113113```
114- Most of the columns should be self explanatory, but here is a description of what is displayed:
114+ Most of the columns should be self- explanatory, but here are descriptions of what is displayed:
115115- ** problem:** the problem label followed by the problem directory name
116116- ** time:** the time limit in seconds
117117- ** yaml:** ` Y ` if ` problem.yaml ` exists (should always be true)
@@ -122,14 +122,14 @@ Most of the columns should be self explanatory, but here is a description of wha
122122- ** val O:** ` Y ` if the output validator was found (note that this must exist if the problem is interactive and/or multi-pass)
123123- ** sample:** the number of sample test cases (BAPCtools encourages to give at least two examples)
124124- ** secret:** the number of secret test cases (BAPCtools encourages to use 30-100 test cases)
125- - ** bad:** the number of invalid test cases (those test cases are intentionally wrong to check that the validators correctly rejects them)
125+ - ** bad:** the number of invalid test cases (those test cases are intentionally wrong to check that the validators correctly reject them)
126126- ** AC, WA, TLE:** the number of submissions in the corresponding ` accepted ` , ` time_limit_exceeded ` , and ` wrong_answer ` directories
127127- ** subs:** The total number of submissions (files) in the ` submissions/ ` directory
128- - ** c(++), py, java, kt:** the number of * accpeted * submissions in the corresponding language
128+ - ** c(++), py, java, kt:** the number of * accepted * submissions in the corresponding language
129129- ** comment:** the content of the ` comment ` entry in ` problem.yaml `
130130
131131#### ` bt run -o -a[a] [submissions/...] [data/...] `
132- This command runs submission and presents their verdict on the testcases .
132+ This command runs submissions and presents their verdict on the test cases .
133133The output should look similar to this:
134134``` ini
135135accepted/solution.py: aaaAAAAAAA AAAAAAA
@@ -148,7 +148,7 @@ The entries correspond to the verdict that a submission got on a test case:
148148- ** -:** skipped because of lazy judging
149149
150150> [ !NOTE]
151- > Here is a short explenation for the given command line parameters do :
151+ > Here is a short explanation for the given command line parameters:
152152> - ** -o:** enable the overview table (if possible, printed with live updates)
153153> - ** -a:** disable lazy judging for WA/RTE submissions
154154> - ** -aa:** completely disable lazy judging
@@ -170,8 +170,8 @@ Every problem needs the following things:
170170### Submissions
171171---
172172Strictly speaking, only one accepted submission is really required.
173- However, multiple accepted submission in various languages help determining a good time limit.
174- Additionally, adding WA submissions and TLE submissions help improving the test cases and the time limit.
173+ However, multiple accepted submissions in various languages help determine a good time limit.
174+ Additionally, adding WA submissions and TLE submissions helps improve the test cases and the time limit.
175175
176176The following commands can be used to run a submission:
177177
@@ -189,7 +189,7 @@ This command will run the selected submission on a given test case.
189189This will also validate the output of the submission but will not display the output.
190190
191191> [ !TIP]
192- > By default ` bt run ` will try to keep the ` data/ ` directory up- to date, see Test cases/Generators] ( #testcasesgenerators ) for more information.
192+ > By default ` bt run ` will try to keep the ` data/ ` directory up to date, see [ Test cases/Generators] ( #test-cases/generators ) for more information.
193193> If you just want to run the submission you can add ` -G ` (short for ` --no-generate ` ) to disable this behaviour.
194194
195195### Test cases/Generators
0 commit comments