浅谈对拍(useful)

对拍可以帮助我们在比赛过程中或者平时练习帮助我们找到程序错误的地方,非常useful

首先对拍一共需要四个c++程序,一个是你自己写的程序假设命名为my.cpp,那么运行的时候会生成一个my.exe,一个是暴力或者正解的程序假设命名为std.cpp,那么运行时会生成一个std.exe,一个是随机数的文件,用于生成题目要求的各类参数假设命名为rand.cpp,运行生成rand.exe,还有一个就是比较程序pai.cpp用于对拍比较

my.cpp格式:

#include <bits/stdc++.h>
using namespace std;
int main() {
    //首先必须要打开输入输出文件,假设随机的数据都存在test.in里面,要输出到a.out里面
    freopen("test.in", "r", stdin);
    freopen("a.out", "w", stdout);
    //你的程序代码
    ....
    return 0;
}

std.cpp格式:

#include <bits/stdc++.h>
using namespace std;
int main() {
    //首先必须要打开输入输出文件,假设随机的数据都存在test.in里面,要输出到b.out里面
    freopen("test.in", "r", stdin);
    freopen("b.out", "w", stdout);
    //正解或暴力程序代码
    ....
    return 0;
}

rand.cpp格式:

#include <bits/stdc++.h>
using namespace std;
int main() {
    //需要把随机数输出到test.in文件里面
    freopen("test.in", "w", stdout);
    //随机数输出 随机数一般不需要太大 如果太大都没法手玩看看错在哪里了 特殊情况除外
    srand(time(0));
    cout << rand() << " " << rand();//可以自行确定数据范围
    ....
    return 0;
}

pai.cpp格式:

#include <bits/stdc++.h>
using namespace std;
int main() {
    while (true) {
        system("rand.exe");//运行rand.exe
        system("my.exe");//运行my.exe
        system("std.exe");//运行std.exe
        if (system("fc a.out b.out")) {//比较输出a.out和b.out 不符合则暂停
            system("pause");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值