板
对拍类
c++对拍
cmp
#include <iostream>
#include <cstdio>
#include <windows.h>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
int ok=0,n=10;
for(int i=1;i<=n;i++){
system("data.exe>in.in");
system("ans.exe<in.in>ans.out");
double begin=clock();
system("test.exe<in.in>test.out");
double end=clock();
double t=(end-begin);
if(system("fc test.out ans.out")){
printf("测试点#%d Wrong Answer\n",i);
}
else if(t>1000){
printf("测试点#%d Time Limited Exceeded 用时 %.0lfms\n",i,t);
}
else{
printf("测试点#%d Accepted 用时%.0lfms\n",i,t);
ok++;
}
}
double res=100.0*ok/n;
return printf("\n共 %d 组测试数据,AC数据 %d 组 得分%.1lf",n,ok,res),0;
}
随机数生成器
#include<bits/stdc++.h>
#define rd random()
using namespace std;
inline int random(){return rand()*5209;}
int main(){
freopen("in.in","w",stdout);
struct _timeb T;_ftime(&T);srand(T.millitm);
return 0;
}
bat对拍
:loop
test.exe<in.in>test.out
ans.exe<in.in>ans.out
fc test.out ans.out
if not errorlevel 1 goto loop
pause