Skip to main content

A command-line tool to generate Online-Judge problem.

Project description

Generator-OJ-Problem

Downloads

A command-line tool to generate Online-Judge problem.

  • Render problem descriptions in Markdown to HTML
  • Check problem descriptions and data, including missing fields, UTF-8 encoding, end-of-line CRLF/LF
  • Packing problem data in freeproblemset(hustoj) format
  • Mechanism for generating input and output test data
  • Easy to define adapters for other online-judge platform

Have fun! If you have any suggestions or find any bugs, please tell me.

Install

pip install generator-oj-problem

# or use pipx for a standalone python environment
pip install pipx
pipx ensurepath
pipx install generator-oj-problem

gop --help

Usage

# Initialize your problem
gop init

# Modify the files to write problem
ls .

# Generate 2 sample data from id 1
gop gen -s 1 -c 2 --sample
# Generate 5 test data from id 2
gop gen -s 2 -c 5

# Trim sample and test data
gop trim

# Check validaty
gop check

# Pack your problem in FreeProblemSet format
gop -a fps pack

If you meet some encoding errors, ensure your Python interpreter runs in UTF-8 mode, e.g. adding PYTHONUTF8=1 to your environment variables.

Directory Structure

Here is a demo problem A + B Problem. Details about problem.yml and generator.py are given at the comments of the demo files.

The file with extension .md means it supports plain CommonMark by built-in render. Attention: No LaTeX and embeded image supports.

  • problem.yml Problem metadata and configuration
  • description.md Description
  • input.md Description of input
  • output.md Description of output
  • hint.md Hint
  • solution.txt Solution source code
  • generator.py Generator for input or output data.
  • samples/ Sample data
    • samples/0.in Input of sample
    • samples/0.out Output of sample
  • tests/ Test data (same form to samples/)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

generator-oj-problem-0.0.2.tar.gz (11.6 kB view hashes)

Uploaded Source

Built Distribution

generator_oj_problem-0.0.2-py3-none-any.whl (16.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page