zoukankan      html  css  js  c++  java
  • 如何造数据

    当我们自己想出题时,就需要我们自己出数据啦qwq。

    这里以出A+Bproblem的数据为例qwq。

    模板代码:

    #include<bits/stdc++.h>
    #include<windows.h>
    using namespace std;
    
    #define Rand() ((rand() << 15) + rand())
    
    const int maxn = 1e5 + 40;
    char a[maxn], b[maxn];
    
    FILE *work(FILE *fp, int now) {
    	fprintf(fp, "%d %d", Rand()%1000, Rand()%1000);
    	return fp;
    }
    
    signed main() {
    	srand(time(0));
    	for(int i = 1; i <= 20; i++) {
    		sprintf(a, "add%d.in", i);
    		fclose(work(fopen(a, "w"), i));
    		sprintf(b, "std.exe < add%d.in > add%d.out", i, i);
    		system(b);
    		printf("test #%d is ok now
    ", i);
    	}
    	return 0;
    }
    

    其中work为你生成数据的函数,一般main()函数里没有啥需要修改的qwq。

    add为生成数据的文件名,std.exe是你标准程序运行后生成的exe文件,名字是可以修改的。

    就假如你的标准程序名字是map,那么他编译运行后生成的exe文件就是map.exe。

    你就把下面这一行:

    sprintf(b, "std.exe < add%d.in > add%d.out", i, i);
    

    改成这样就可以了:

    sprintf(b, "map.exe < add%d.in > add%d.out", i, i);
    

    同理add也是可以修改的,你可以改成这样:

    sprintf(a, "qwq%d.in", i);
    fclose(work(fopen(a, "w"), i));
    sprintf(b, "std.exe < qwq%d.in > qwq%d.out", i, i);
    

    一个地方修改了以后所有地方都要修改。

    其中注意std.exe要和data.exe处在同一文件夹内,而且std一定要编译运行过即产生了exe文件!!

    没啦qwq!

  • 相关阅读:
    组合算法实现
    Memcached 和 Redis 分布式锁方案
    CLR 内存分配和垃圾收集 GC
    Windbg 的使用和常用命令
    Geohash 算法学习
    经纬度计算
    Windbg 分析CPU上涨
    Windbg 分析内存上涨
    django基于存储在前端的token用户认证
    非常详细的Django使用Token(转)
  • 原文地址:https://www.cnblogs.com/Vanyun/p/13406612.html
Copyright © 2011-2022 走看看