Skip to content

Directory Structure🔗︎

Problem
├── 🗀 data
│   ├── 🗀 sample                //in git
│   │   ├── 🗎 1.in
│   │   ├── 🗎 1.ans
│   │   └── ...
│   └── 🗀 secret                // typically git ignored if generated
│       └── ...
├── 🗀 generators                // optional
│   ├── 🗀 manual                // raw .in files for manual testcases
│   ├── 🗀 <generator name>      // contains all files of the generator i.e. validate.h and main.cpp
│   ├── 🗎 generator.py          // single file generators don't need a directory
│   ├── ...
│   └── 🗎 generator.yaml
├── 🗀 input_validators          // only one checker is needed
│   ├── 🗀 <input_validator>     // contains all files of the checker i.e. validate.h and main.cpp
│   ├── 🗎 input_validator.viva  // viva checker
│   ├── 🗎 input_validator.ctd   // ctd checker
│   └── ...
├── 🗀 answer_validators          // BAPCtools extension, same as input_validators but for .ans files
│   └── ...
├── 🗀 statement
│   ├── 🗎 problem.en.tex        // statement
│   └── 🗎 figures.png           // figures for statement/solution/slides
├── 🗀 statement
│   └── 🗎 solution.tex          // solution slides (can reuse figures.png)
├── 🗀 problem_slide
│   └── 🗎 problem-slide.en.tex  // problem slides (can reuse figures.png)
├── 🗀 output_validator          // optional, contains all files if a custom output checker is needed
│   └── ...
├── 🗀 input_visualizer          // used to visualize test cases
│   └── ...
├── 🗀 output_visualizer         // used to visualize submission output
│   └── ...
├── 🗀 submissions               // submissions with expected results
│   ├── 🗀 accepted
│   │   └── ...
│   ├── 🗀 rejected
│   ├── 🗀 wrong_answer
│   ├── 🗀 time_limit_exceeded
│   ├── 🗀 run_time_error
│   ├── 🗀 brute_force
│   └── 🗎 submissions.yaml
└── 🗎 problem.yaml              // name author etc.