数据生成器
查看原帖
数据生成器
483589
Hinata_楼主2022/8/13 22:14

这里提供一个数据生成器和对拍程序, 数据比较随机, 但是判断对错已经足够。

数据生成器

#include <cstdio>
#include <random>
using namespace std;

mt19937 r(time(0));
const int MOD = 2e5;
int rnd(int MOD, int flag){
    if(flag == 1)
        return r() % MOD - (MOD >> 1);
    else
        return r() % MOD;
}

int main(){
    freopen("1.in", "w", stdout);
    const int n = 1e5, m = 1;
    printf("%d\n", n);
    for(int i = 1; i <= n; ++i){
        printf("%d ", rand(MOD));
    }
    printf("\n%d\n", m);
    for(int i = 1; i <= m; ++i){
        int l = rnd(n, 0) + 1, r = rnd(n, 0) + 1;
        if(l > r) swap(l, r);
        printf("%d %d\n", l, r);
    }
    
    return 0;
}

对拍程序(Linux)

#include <cstdio>
#include <string>
using namespace std;

auto f(string s){
    return system(s.c_str());
}

int main(){
    freopen("1.in", "r", stdin);
    int tot = 1000;
    for(int i = 1; i <= tot; ++i){
        f("./md"), f("./my"), f("./ac");
        if(f("diff my.out ac.out")){
            printf("wa");
            return 0;
        }
    }
    printf("ok");
    
    return 0;
}
2022/8/13 22:14
加载中...