lemon评测软件SPJ说明

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;
}