UOJ的special judge写法

  • 配置步骤
    • 修改problem.conf
    • chk.cpp

配置步骤

修改problem.conf

和传统题配置相比,spj的题区别就在于自定义了checker。
这里我们需要先把problem.conf中的use_builtin_checker一行删去。

chk.cpp

在数据文件夹下新进一个文件命名为chk.cpp
UOJ的cheker使用testlib,下面是A+B的checker:

#include "testlib.h"int main(int argc, char* argv[])
{registerTestlibCmd(argc, argv);int pans,jans;pans=ouf.readInt();      // 读取选手输出jans=ans.readInt();      // 读取答案if (pans == jans)quitf(_ok, "Correct.");elsequitf(_wa, "WA! expect=%d recieve=%d", jans, pans);
}

在调用registerTestlibCmd之后,我们可以使用下面的三个流:

  • inf: 输入数据
  • ouf: 选手输出
  • ans: 标准输出

从流中读取数据的方式,和【数据检验器】一致。
如果程序AC或者爆零,您可以使用quitf()。但是如果您想给选手部分分,请使用下面的代码:
quitp(ceil(100.0 * p / a) / 100, "QAQ");
这将会给选手p分。

chk.cpp中不能出现中文!

UOJ的special judge写法相关推荐

  1. Special Judge(特判程序)在OnlineJudge(在线判题系统)中的使用方法

    引言 最近搭了一个OnlineJudge,在一些比赛中,为了避免选手骗过测试,所以一个比较完善的OJ测试必须加上Special Judge 例如:题目要求:求a+b的值 测试用例: 输入1 2 输出: ...

  2. Special Judge Ⅲ(这道题考的就是出栈序列判定_关键代码不差什么)

    Description Q:什么是 Special Judge,Special Judge 的题目有什么不同? A:一个题目可以接受多种正确方案,即有多组解的时候,题目就必须被 Special Jud ...

  3. 【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)

    Special Judge:当正确的输出结果不唯一的时候需要的自定义校验器 首先有个框架 #include<fstream> ifstream fin,fout,fstd ofstream ...

  4. HUSTOJ特判程序Special Judge使用方法整理

    2021.08.12更新:最新优化的编写方法请参见https://blog.csdn.net/winter2121/article/details/104901188 Special Judge 通常 ...

  5. Lemon LemonLime 中 SPJ Special Judge 使用 实践 入门 a

    精度需要SPJ 入门: 题目,以整数形式给定圆的半径,输出该圆的周长,该圆的面积. 比赛目录如下: 标准输入输出数据如下: circle1.in 1 circle1.ans 6.283185 3.14 ...

  6. special judge

    //special judge01 通过特定程序 判断 代码输出是否正确 而不是只比对 输出是否和标准输出一致 02 应用场景: 01 题目存在多组解 02 避免选手利用 黑箱测试 得分03 eg. ...

  7. Sicily 2012 King[Special judge] (不是水题胜似水题)

    题目的意思是:在这个柔弱强食的年代,能打架才是王道,打架最强才能称霸天下 给你1000个人 如果A打赢B,那么A可以傲视B 如果A打赢B,B能打赢C,那么A可以傲视C 问你谁能傲视群雄? 这个题很容易 ...

  8. OJ(Online Judge)系统汇总

    OJ百度百科 在线判题系统_百度百科 ***Openjudge和Poj 北大OJ(英文),经常服务器坏, Welcome To PKU JudgeOnline 备用网站 OpenJudge - NOI ...

  9. 第五届合肥工业大学宣城校区程序设计大赛题解

    问题 A: 小问题 时间限制: 1 Sec  内存限制: 128 MB  Special Judge 题目描述 林喵喵特别喜欢解决女孩子们提出的问题. 于是, 有一天殷老师问了林喵喵一个小问题. 给出 ...

最新文章

  1. Android 编译源码 注意事项
  2. varnish---反向代理web加速缓存服务器和CDN的推送
  3. 【Python】Github上125k+Star的Python算法资料
  4. 秘密开发一年多,解密奥运史上首个数字云徽章
  5. Serializable序列化
  6. 图解读写锁:pthead_rwlock_t
  7. 第一百五十天 how can I坚持
  8. c# 遍历文件夹深度_C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)...
  9. spark入门_[大数据之Spark]——快速入门
  10. swagger 上传文件 参数_如何使用Swagger上传文件
  11. Linux下测试sdio,浅析Linux下sdio接口对sd卡硬件检测流程
  12. arm linux开机第一屏,小白求助大神T1刷机提示成功,但开机卡在斐讯白屏界面。...
  13. Ubuntu 16.04 安装并创建快捷图标 XMind
  14. 微信红包雨怎么抢_微信红包雨怎么发? 微信红包雨的操作方法?
  15. Spring Boot 从入门到精通(一)HelloWorld(构建项目,热部署,测试)
  16. 手写 React 第 2 节 - 初探 React 实现机制
  17. 如何取消计算机中的文件夹加密文件,文件夹加密码怎么设置怎么解除
  18. 苹果造车欲用中国电池,前提是在美国建厂?比亚迪、宁德时代正与其谈判
  19. serv-u ftp server是什么?如何利用花生壳搭建ftp服务器?
  20. 用手机在家做韩剧剪辑,无需露脸,一周1300

热门文章

  1. 突破 11%,Statcounter 数据显示微软 Edge 已稳坐第二大桌面浏览器
  2. 腰间盘突出怎么解决?
  3. bugku(md5 collision(NUPT_CTF))
  4. 在Fragment中我想点击按钮然后关闭当前的Fragment返回上一个Fragment该如何实现。
  5. tftp服务器传送文件,3.64 tftp(传输文件)
  6. php传智视频,PHP视频教学之Mysql视频教学下载传智播客-韩忠康
  7. java中的图形界面如何在JFrame中添加背景色及背景图片
  8. 生活杂记-显示器尺寸
  9. Apollo配置加解密-基于Apollo—client的封装支持配置动态解密的巧思与探索
  10. PUEG打开服务器维护,物业管理服务程序tanopueg.doc