(」・ω・)」うー!(/・ω・)/にゃー!
——潜行吧奈亚子

对拍

对拍

前置知识

首先,听完了OYDS大奆的讲话,学费了很多,首先是可以加入几个工具栏指令来获得更严密的编译(就是能找到一些不容易发现的错误)。

首先,进入Dev-C++,点击【工具】,选择第一个【编译选项】,进入之后在上面的方框输入


-Wall -Wshadow  -std=c++11

然后就可以了。

生成数据

进行对拍前,需要先编写生成数据的程序,必须用到的是随机数函数:

mt19937 rnd(time(0));
//当然,用这个必须提前加入指令:
//-std=c++11

一般地,使用就是通过:

int random_number = rand % [数据范围的上限];
//即生成数据范围内的随机数

可以根据题目的输入格式来进行生成(一般按照输入方式就行)

生成后一定记得输出!!!顺便添加适当的回车!!!

对拍

对拍本质上就是不断随机生成数据,代入自己的程序和正解来判断程序哪里有问题。

#include <bits/stdc++.h>
using namespace std;


int main()
{
	static int cnt;
	while(1)
	{
		if (cnt == 100)
		{
			cout << "恭喜你AC了这道题!!!!!!"; 
			break;
		}
		system("生成.exe > a.in");
		system("调试中的代码.exe < a.in > mine.out");
		system("正解.exe < a.in > ac.out");
		if(system("fc mine.out ac.out"))
		{
			break;
        //如果运行出来的答案不同就停止。
		}
		cnt++;
	}
	return 0;
}

注意事项

    1. 记得把几个代码都编译完再进行对拍
    1. 一定要注意文件名与对拍程序里使用的文件名相同且一一对应
posted @ 2021-12-25 22:08  GalaxyOier  阅读(228)  评论(0)    收藏  举报