# 判题服务
对于lduoj v2.x版本,采用go-judge (opens new window)作为判题服务。
对于lduoj v1.x版本,采用自研判题服务开源代码 (opens new window)(已停止维护)。
# 编译
- C语言
gcc Main.c -o Main -Wall -lm --static -std=c17 -O2 -fmax-errors=5
- C++
g++ Main.cpp -o Main -Wall -lm --static -std=c++17 -O2 -fmax-errors=5 -fno-asm
- Java
你提交的代码中,必须包含名为Main
的类,并包含静态成员方法main
,例如
public class Main{
public static void main(String [] args){
// Write your solution.
}
}
编译命令:
javac -J-Xms64m -J-Xmx256m -encoding UTF-8 Main.java
# 运行
判题服务首先会获取出题人提供的测试数据。 对于每一组测试数据,选手程序将被运行一次,获取其标准输出用于答案对比。
# 答案对比
答案对比有两种方式。
- 文本对比;你的标准输出和标注答案进行逐字符比较,如不一致,则判为
Wrong Answer
(答案错误)或其他错误类型; - 特判对比;出题人提供特判程序来评测你的标准输出,评测结果取决于出题人的特判程序;具体可参考特判方法;
# 代码查重
判题服务使用开源查重工具sim
将选手代码与以往提交进行查重。默认情况下,查重结果只有管理员可以看到。