hypixel / 2024-07-12 / 原文

对拍类

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