对拍

最简单的对拍程序(A + B Problem)

造数据 make.cpp:

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

int main()
{
    srand(time(0));
    printf("%d %d\n", rand() % 100000, rand() % 100000);
    return 0;
}

正解 std.cpp

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
    return 0;
}

待对拍程序 code.cpp

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

int main()
{
    srand(time(0));
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
    return 0;
}

对拍程序 duipai.cpp

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int t = 0;
    while(true)
    {
        printf("test #%d: ", ++ t); //Linux为./make  ./std  ./code  diff
        system("make.exe > data.in");
        system("std.exe < data.in > data.ans");
        system("code.exe < data.in > data.out");
        if(system("fc data.out data.ans > data.log")) {
            printf("Wrong Answer\n");
            break;
        }
        else printf("Accepted\n");
    }
    return 0;
}

 

 不用c++的duipai.bat:将system(""); 里面的东西放进 .bat 里面。(Windows脚本)

------------恢复内容结束------------

posted @ 2021-08-05 14:11  龙雪可可  阅读(36)  评论(0编辑  收藏  举报
****************************************** 页脚Html代码 ******************************************