见网上好像没什么关于在noi linux下对拍的博客,本蒟就来发一波。
###第一步 准备好相关程序
调试的时候,我们应该首先写好一个自动生成数据的程序,博主在这儿命名的是gen。然后要有一个正确(暴力)程序,博主在这采用的是std。另一个就是被测试程序,博主在这儿以做的一道题目名称为例,叫做12563。

解释一下,博主在这儿使用的vim来编写程序的。(所以你得先要会用vim,或者用其他的也可以吧)最左边第一个小窗口为输入的文件,用gen.cpp运行出来的数据储存在input.in(左上小窗口表示的文件)中。最左边第二个窗口12563.out是12563程序运行后的结果储存的文件。最左边第三个窗口std.out是std程序运行后的结果储存的文件。中间第一个12563.cpp是博主的需要被测试的程序。std.cpp是博主准备的标准程序。右边第一个窗口nick.sh是执行对拍的程序。最右边第二个窗口gen.cpp是造数据的程序。在文件夹中就是如下显示。

###第二步 如何写nick.sh
那个nick是可以自己命名的。

#!/bin/bash
while true;do./gen > input//造出来的数据存入input中./12563 <input> 12563.out//被测试程序./std <input> std.out//正确(暴力)程序diff 12563.out std.out//各自的输出if [ $? -ne 0 ];then break;fiecho OK
done

###第三部 打开终端
利用快捷键“Ctrl+Alt+T”打开终端,进入到之前准备好的那些文件所在的目录下。博主这里是pai,所以输入cd pai即可进入(因为pai是在主文件里面,刚打开vim时就是进入主文件夹,再只需往下进入一层即可)再输入chmod +x nick.sh后,再输入bash nick.sh即可运行对拍程序。

运行之后,如果你的程序出现问题,就会有如上提示:
< Case 13: 6 970
》Case 13:6 969
这里表示第13个点有问题。
到这里就好啦。

###附
其实可以不用写那个nick.sh,还有另一种方法,博主后来问的学长。
我们还可以一个对拍的程序,如下:

#include<cstdio>
#include<cstdlib>
int main(){for(int i=1;;i++){system("./gen");system("./12563");system("./std");if(system("diff 12563.out std.out")){printf("WA on test%d\n",i);break;}printf("AC on test%d\n",i);}
}

运行结果如下:

参考博客:http://www.bubuko.com/infodetail-2475500.html (此博客写的好像有点问题,博主一开始按照他写的来,结果错了,后面乱搞了一顿,碰对了QWQ)

三步学会在noi linu下对拍相关推荐

  1. 仅需三步学会使用低代码ThingJS与森数据DIX数据对接

    森数据DIX拥有强大的数据处理能力,内置主流集成插件,分钟级集成IT运维场景和IoT管理场景数据,提升效率.针对非主流系统,支持在线JS脚本编辑,提供灵活.规范的接口,满足低代码个性化需求,轻松实现物 ...

  2. omnigraffle 画曲线_三步学会用绘图利器 OmniGraffle 绘制流程图

    原标题:三步学会用绘图利器 OmniGraffle 绘制流程图 OmniGraffle 是 Mac 上的绘图利器,曾获2002年苹果设计奖.Graffle 在很多方面对标 Windows 系统上的 M ...

  3. 杠杆炒股从三步学会正确的做t方法

    杠杆炒股从三步学会正确的做t方法: 1.第一红白三格误做题,就是说红白线之间的距离如果小于3个格子,那说明股价弹性是不足的,就不要轻易去考虑做题了: 2.第二3~6个可做题,它指的是黄白线的距离超过3 ...

  4. 训练测试数据大小不一致_三步学会训练狗狗不随地大小便

    训练狗狗在规定的地点大小便是非常重要的训练,它决定了你的屋子和院子能否干净整洁.如果是室内训练,我要先告诉你一些相关的训练禁忌. 首先,当狗狗在家里排便之后才对狗狗做出惩罚,是最普遍的一个训练错误,这 ...

  5. omnigraffle 画曲线_「技法」三步学会用绘图利器 OmniGraffle 绘制流程图

    OmniGraffle 是 Mac 上的绘图利器,曾获2002年苹果设计奖.Graffle 在很多方面对标 Windows 系统上的 Microsoft Visio,是制作各种文档的绝妙工具.这篇文章 ...

  6. 三步学会 Debug 神器,效率提升不少!

    PDB是Python自带的一个包,为Python程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等. 启动调试工具 使用PD ...

  7. 挣值分析-概念理解(三步学会)

      对于新接触挣值分析的人来说,看到密密麻麻的公式(PV.EV.AC.SV.SPI.CV.CPI.ETC.EAC.BAC),很容易搞混之间的关系,以下是自己的学习心得和理解,希望帮助读者快速稳固的学会 ...

  8. 制作一个查询信息程序_三步学会制作一个小程序

    小程序在刚出现的时候简直是惊艳了整个业界,不管什么内容,光是那酷炫的交互效果就足以篇篇刷屏了,再加上"用完即走",不用安装.不占用内存.入口众多等特性.不过早期由大厂商的专业程序员 ...

  9. 自己动手三步学会国产手机安装QQ,飞信……

    在学校快考试的那几天,宿舍几人突然发现了学校一小角角有个国产手机下载QQ,飞信的,激动了好久,到后来好像都不行. 今天闲来无事,找了个手机试了下,还能下,具体的办法看下边. 顺便说下,智能手机支持si ...

最新文章

  1. Xcode12.5最新快捷键的使用(学会事半功倍)
  2. 暑假周进度总结报告1
  3. 杨辉三角(二项式定理)组合数 【noip 2011/2016 d2t1】
  4. python传递utf8 到c++_深入理解Python的TLS机制和Threading.local()
  5. erp系统是什么软件有哪些
  6. bzoj 4131: 并行博弈(博弈)
  7. 算法5-7:区间检索
  8. 精睿ESET_VC52_UPID获取器(8.25更新4.2.2.0)
  9. qpython3手机版教程,qpython3手机版下载
  10. laravel8的 Migration、Factory、Seeder
  11. dell服务器型号t310,Dell T110/R210/T310/R310服务器 For Windows驱动程序
  12. AV1代码学习:av1_first_pass函数
  13. 启用计算机的无线同屏,win10系统无线同屏功能如何使用
  14. JSP页面如何通过Form传递参数到另一个JSP页面
  15. 大数据运维学习成长路线
  16. 怎样用网址查询微信公众号的二维码
  17. Ubuntu18.04忘记密码解决(八十七)
  18. linux内核开启otg,OTG驱动分析(一)
  19. 使用iso安装linux系统安装教程,使用光盘iso实现Linux操作系统的自动安装部署
  20. 如何将Android数据库操作通用化(四)

热门文章

  1. Android persist类property 知识点
  2. [ORACLE] ORA-00054 错误的解决方案
  3. pandas.Series.plot的简单参数使用说明
  4. 内网穿透是什么?哪些作用?
  5. Acrel-6000/B电气火灾监控系统麻城广场设计与应用
  6. macOS忘记密码后如何修改密码
  7. model.compile中metrics的参数accuracy
  8. 如何使用 JavaScript 显示/隐藏或切换 DIV 元素
  9. setClickable,setEnabled,setFocusable 的区别
  10. Angular中的指令(Directives)