Skip to content

Lemon

Lemon

Warning

On macOS, Lemon may have inaccurate memory testing because macOS lacks some monitoring tools available on Linux, and Lemon-Linux is not optimized for macOS.

Lemon is an open-source judging tool written by zhipeng-jia, with source code hosted at zhipeng-jia/project-lemon.

Ready-to-run Versions

  • Ir1d provides a pre-compiled version for Linux, with source code hosted at FreestyleOJ/Project_lemon.
  • (No longer maintained) Menci provides an updated version, with source code hosted at Menci/Lemon.
  • (No longer maintained) Dust1404 maintains a version supporting subfolders and single-problem testing, with source code hosted at Dust1404/Project_LemonPlus.
  • iotang and Coelacanthus maintain a version supporting subfolders and single-problem testing, with source code hosted at Project-LemonLime/Project_LemonLime.

Compiling from Source

Ubuntu:

1
2
3
4
5
6
7
sudo apt update
sudo apt install qt5-default build-essential git -y
git clone --depth=1 https://github.com/Menci/Lemon.git
cd lemon
# You can modify the number after -j to adjust the number of make job threads
./make -j2
sudo install -Dm755 -t /usr/bin/ Lemon

To compile LemonLime, please refer to LemonLime's Build Guide.

Data Format

First, open Lemon and select "New Problem", then open the folder of the newly created problem.

The problem and data should follow the format below:

1
2
3
4
5
6
7
8
9
├── data
│   ├── gendata.py
│   ├── product
│   │   ├── product100.in
│   │   ├── product100.out
│   │   ├── product10.in
│   │   ├── product10.out
│   │   ├── product11.in
...

After all problems are added, return to Lemon and select "Auto Add Problems". At this point, the problems and test cases will be displayed in Lemon.