zoukankan      html  css  js  c++  java
  • 【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)

    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
    }

    然后fstream的接口对于lemon和cena不同

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

    For Cena:

    “score.log” 输出最终得分

    “report.log”输出错误报告

    #FILENAME”.in”输入文件

    #FILENAME”.out”选手输出文件

    argv[2]:标准输出文件

    argv[1]:单测试点分值

    int main(int argc,char *argv[]){
        fscore.open("score.log");
        freport.open("report.log");
        fstd.open(argv[2]);
        fin.open("set.in");
        fout.open("set.out");
        
        int score=atoi(argv[1]);
        fscore<<score*Judge()<<endl;
        
        fin.close();
        fout.close();
        fstd.close();
        fscore.close();
        freport.close();
        return 0;
    }

    *若描述和代码有不同,以代码为主qwq

    *我就会这两个了

  • 相关阅读:
    bzoj 3122 [Sdoi2013]随机数生成器(逆元,BSGS)
    归并排序
    MS-coco数据集下载及使用(转)
    转-深度学习视觉领域常用数据集汇总
    opencv-Mat数据类型及位数总结
    opencv-图像类型、深度、通道
    opencv-VS2010配置opencv2.4.8
    opencv-访问Mat中每个像素的值
    VS2010文件包含
    转载: 8个月从CS菜鸟到拿到Google Offer的经历+内推
  • 原文地址:https://www.cnblogs.com/chouti/p/5752819.html
Copyright © 2011-2022 走看看