§ 说明

曾经使用nodejs + c + mongodb写过多次OJ系统,但是我平时并没有那么多的时间维护OJ

经过很长时间后,我最终发现,我并不需要一个完整的online judge system,而真正需要的是

一个题库,一个用于训练的题库,它具有下面的特点

我把这些题目上传到Github

你可以通过:

于是我写了这个网站,希望在完成上面的我的个人目标后也能帮助到你. 🤟

§ 如何评测

§ 0. 安装依赖的命令

bash
copy
        
1
2
3
sudo apt update sudo apt install unzip fzf wget jq

§ 1. 下载并编译sjudge

bash
copy
        
1
2
3
wget -O sjudge.cpp https://raw.gitmirror.com/RainboyOJ/problems/master/sjudge/sjudge.cpp g++ -std=c++17 -O2 -o sjudge sjudge.cpp

§ 2. 下载并安装编译脚本roj.sh

bash
copy
        
1
2
3
sudo wget -O /usr/bin/roj.sh https://raw.gitmirror.com/RainboyOJ/problems/master/bin/roj.sh sudo chmod +x /usr/bin/roj.sh

§ 3. 使用编译脚本roj.sh

roj.sh有两种使用方式

  1. 网络模式,每一次评测自动下载对应数据到本地,:roj.sh 1000
  1. TODO,本地模式,使用命令git clone --depth 1 https://mirror.ghproxy.com/https://github.com/RainboyOJ/problems/ ~/roj将所有的数据下载到本地,每次评测带上local参数(默认) :roj.sh -local ~/roj 1000

当然你也可以只下载所有的数据,而不用评测:roj -only-download 1000

§ FAQ

§ 1. 如何联系作者

通过邮件 : rainboylvx@qq.com

§ 1.本OJ以后是否会出现用户注册

可能会有,我已经写了一个基于c++ 20的OJ服务器 github地址,但是没有钱和时间弄服务器

§ 2.我想要公开自己的代码,如何上传?

我可以写一个类似于 gitscus的系统,或者直接使用gitscus作为评论框

§ 3.如何上传题目解析?

通过git pull, TODO