自动化测大样例

省流:


for((i=1;i<=10;i++))
do
g++ T1.cpp -std=c++14 -w -O2 -Wall -Wextra -o a.exe
cp ex_edit$i.in edit.in
./a.exe
diff -s -Z ex_edit$i.out edit.out
done

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

string filename="kamen",codename="T1";
string input1,input2,output1,output2;
void init();

signed main()
{
	init();
	// exit(0);
	for(int i=0,nw=1;i<=100;i++,nw++)
	{
		if(access((input1+to_string(i)+input2).c_str(),F_OK)==0)
		{
			nw=system(("cp "+input1+to_string(i)+input2+" "+filename+".in").c_str());
			nw=system(("g++ "+codename+".cpp -std=c++14 -w -O2 -o run_exe.exe").c_str());
			nw=system("./run_exe.exe");
			nw=system(("diff -s -Z "+filename+".out "+output1+to_string(i)+output2).c_str());
			nw=system("rm run_exe.exe");
		}
	}
	// system("rm .fuse_hidden*");
	return 0;
}


void init()
{
	if(access((filename+"1.in").c_str(),F_OK)==0) { input1=filename; input2=".in"; }
	if(access(("ex_"+filename+"1.in").c_str(),F_OK)==0) { input1="ex_"+filename; input2=".in"; }
	if(access(("ex"+filename+"1.in").c_str(),F_OK)==0) { input1="ex"+filename; input2=".in"; }

	if(access((filename+"1.out").c_str(),F_OK)==0) { output1=filename; output2=".out"; }
	if(access(("ex_"+filename+"1.out").c_str(),F_OK)==0) { output1="ex_"+filename; output2=".out"; }
	if(access(("ex"+filename+"1.out").c_str(),F_OK)==0) { output1="ex"+filename; output2=".out"; }

	if(access((filename+"1.ans").c_str(),F_OK)==0) { output1=filename; output2=".ans"; }
	if(access(("ex_"+filename+"1.ans").c_str(),F_OK)==0) { output1="ex_"+filename; output2=".ans"; }
	if(access(("ex"+filename+"1.ans").c_str(),F_OK)==0) { output1="ex"+filename; output2=".ans"; }
}
posted @ 2025-11-16 16:05  Wy_x  阅读(13)  评论(0)    收藏  举报