{"id":23138411,"url":"https://github.com/encodeous/offlinejudge","last_synced_at":"2025-04-04T09:44:19.419Z","repository":{"id":103555598,"uuid":"332629886","full_name":"encodeous/offlinejudge","owner":"encodeous","description":"Offline Judge for Fast-Slow Solution Validation","archived":false,"fork":false,"pushed_at":"2022-06-18T23:51:57.000Z","size":54,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-09T20:27:47.575Z","etag":null,"topics":["competitive-programming","contest-programming","judge"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/encodeous.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-25T04:26:00.000Z","updated_at":"2022-06-18T23:52:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"ecfeafc6-1f36-42c8-b91b-ecbe2a0dc0c9","html_url":"https://github.com/encodeous/offlinejudge","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fofflinejudge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fofflinejudge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fofflinejudge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fofflinejudge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/encodeous","download_url":"https://codeload.github.com/encodeous/offlinejudge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157133,"owners_count":20893210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["competitive-programming","contest-programming","judge"],"created_at":"2024-12-17T13:10:50.871Z","updated_at":"2025-04-04T09:44:19.389Z","avatar_url":"https://github.com/encodeous.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Offline Judge\n\nOffline Judge is an advanced and configurable `fast/slow` grader that runs on your own computer!\n\nThis is a common technique used in contests to validate the accuracy of a solution.\n\n## Quick Start\n\n### Before Starting:\n\n1. OJ requires `dotnet 5+` to be installed, install [dotnet](https://dotnet.microsoft.com/download) if it is not installed already!\n2. Make sure you have a compiler that can run your desired solution\n3. Download ([Github Releases](https://github.com/encodeous/offlinejudge/releases)) and set up Judge!\n\n### Setting Up: \n\n- Download Judge from the `Releases` section for your platform.\n- **Windows Only (Optional)**: Run `judge.exe install` to install the application and add it to `PATH`\n- Create a `judge.yaml`, an example is shown below.\n- Modify the configuration to your heart's content.\n- To run the judge, open a terminal and execute `judge run`. Make sure the current working directory contains a `judge.yaml`, or specify the path to `judge.yaml` with `judge run \u003cconfiguration file path\u003e`\n\n## Features\n\n- Pre-judge commands - used for compilation, cleanup etc\n- Independent resource limits for `[solution, reference, generator]`\n- Parallel Judging - Allows for faster judging\n- Short Circuit - Stops execution when a non-ac case is found\n- Pretty printing - Nicely formatted judging results, similar to the format used on dmoj.ca\n- Token/Exact grading - Able to switch between Exact grading and Tokenized Grading (separated by `\\n` or space)\n\n### Version Compatibility\n\nConfiguration files are **not** version compatible!\n\n### Example Configuration\n\n```yaml\n#\n# Offline Judge - Configuration File\n# https://github.com/encodeous/offlinejudge\n#\n\n# Commands that are run once before judging any cases\npre-judge-commands:\n- command: cmd\n  arguments: --arguments here\n- command: cmd2\n  arguments: --arguments here\n# Should the output be shown?\nshow-pre-judge-output: true\n# Should the judge stop judging with it hits a non-ac case? (The test data may get buried by cases in the console!)\nshort-circuit: true\n# Number of cases the judge runs\ncases: 100\n# The max number of parallel executions that occur at any given time\njudge-threads: 3\n# Should the judge use an exact grader or a space-separated token grader?\ntoken-grader: false\nsolution:\n  # Working directory for the executing process, leave blank for current directory\n  working-directory: \n  # Filename or the full file path to the program\n  file-name: solution.exe\n  arguments: --arguments here\n  # Time limit in seconds\n  time-limit: 2.5\n  # Memory limit in MB\n  memory-limit: 512\nreference:\n  working-directory: \n  file-name: reference.exe\n  arguments: --arguments here\n  time-limit: 2.5\n  memory-limit: 512\ngenerator:\n  working-directory: \n  file-name: generator.exe\n  arguments: --arguments here\n  time-limit: 10\n  memory-limit: 1024\n```\n\n### Uninstalling (Windows)\n\n- Run `judge uninstall` and make sure judge is not running.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fencodeous%2Fofflinejudge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fencodeous%2Fofflinejudge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fencodeous%2Fofflinejudge/lists"}