- xiao9di 的博客
lemon评测软件SPJ说明
- 2022-7-1 22:32:40 @
lemon的SPJ程序接收参数说明:
argv[1]:输入文件
argv[2]:选手输出文件
argv[3]:标准输出文件
argv[4]:单个测试点分值
argv[5]:输出最终得分的文件
argv[6]:输出错误报告的文件
lemon的SPJ程序参考样例代码1:
#include<iostream>
#include<fstream>
ifstream fin,fout,fstd
ofstream fscore,freport;
double Judge(){
......
}
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;
}
lemon的SPJ程序参考样例代码2:
#include<bits/stdc++.h>
using namespace std;
/*
Lemon Special Judge参数传送说明:
argv[1]: 标准输入文件
argv[2]: 选手输出文件
argv[3]: 标准输出文件
argv[4]: 本测试点满分
argv[5]: 分数输出文件(必须创建),仅一行,包含一个非负整数,表示得分。
argv[6]: 额外信息文件(可以不创建)
假如我的Special Judge程序是与数据同目录下的“judge.exe”,参数传递也是和你在首页上说的一致,那我在自定义校验器模式下面的输入框中应该输入什么?
输入judge.exe关于data目录的相对路径。 例如judge.exe在data目录下的problem子目录下,就输入problem\judge.exe
*/
FILE *fscore,*freport,*fstd,*fin,*fout;
int main(int argc,char *argv[])
{
fin=fopen(argv[1],"r");
fout=fopen(argv[2],"r");
fstd=fopen(argv[3],"r");
//fopen(argv[4],"r");
fscore=fopen(argv[5],"w");
freport=fopen(argv[6],"w");
....
fprintf(fscore,"得分");
fclose(fscore);fclose(freport);fclose(fstd);
fclose(fin);fclose(fout);
return 0;
}