原文:http://www.cnblogs.com/chouti/p/5752819.html
Special Judge:当正确的输出结果不唯一的时候需要的自定义校验器
首先有个框架
#include<fstream>
ifstream fin,fout,fstd
ofstream fscore,freport;
double Judge(){
}
int main(int argc,char *argv[]) {
//put something to fstreams...
//Judge&output report
//close files
return 0
}
然后这里只写lemon的
所有的都从argv[]里面读入
argv[1]:输入文件
argv[2]:选手输出文件
argv[3]:标准输出文件
argv[4]:单个测试点分值
argv[5]:输出最终得分的文件
argv[6]:输出错误报告的文件
然后lemon的spj就大概这样写
int main(int argc,char *argv[]){
fin.open(argv[1]);
fout.open(argv[2]);
fstd.open(argv[3]);
fscore.open(argv[5]);
freport.open(argv[6]);
int score=atoi(argv[4]);
fscore<<score*Judge()<<endl;
fin.close();
fout.close();
fstd.close();
fscore.close();
freport.close();
return 0;
}
有时间试试~