三步学会在noi linu下对拍

本文详细介绍了如何在NOI Linux环境下进行对拍操作,包括准备相关程序、编写nick.sh脚本以及如何运行对拍。通过遵循步骤,读者可以学会在Linux系统中进行程序对拍,用于调试和验证程序的正确性。
部署运行你感兴趣的模型镜像

见网上好像没什么关于在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;fi
      echo 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)

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值