教你刷输入输出样例

有的同学自己写题却懒得编数据,比较有的题数据太大,人工根本造不出来。

所以我就在这里给你们演示下我是怎么只用c++编译器写的数据

思路

先用随机值函数模拟输入数据并用freopen输出成输入文件

再用你那道题的ac程序,读取刚才刷出的文件并处理最后再用freopen输出

完工!

最后给大家举个例子,我用a+b写了一个模板

刷输入文件

#include
#include
#include
char name[10];//输入输出文件名
int main()
{
    int i;
    for (i=1;i<=20;i++)//20可以根据你需要的数据量随意更改
    {
        sprintf(name,"data%d.in",i);//定义name为datai(i为1~20中一个数).in
        freopen(name,"w",stdout);//输出文件
        srand(time(NULL));//调用当前时间
        int a=rand()%100000,b=rand()%100000;//用%控制随机值范围
        printf("%d %d",a,b);//输出
        fclose(stdout);
    }
}

刷输出文件

#include
using namespace std;
char name[20];
int a,b;
int main()
{
    for(int i=1;i<=20;i++){
        sprintf(name,"data%d.in",i);//该解释的上面都解释过了
        freopen(name,"r",stdin);
        sprintf(name,"data%d.out",i);
        freopen(name,"w",stdout);
        cin>>a>>b;
        cout<

你可能感兴趣的:(OI,刷数据,自主建立题目,C++)