造数据
2024-08-05 11:35:58
发布于:浙江
需要三个 .cpp 文件 和其 .exe 文件
--pi.cpp
--pi.exe
--data.cpp
--data.exe
--duipai.cpp
--duipai.exe
要把这 个文件放在同一文件夹下
下面以此题为例
链接描述
首先得有个 pi.cpp ,这个文件是题目的标程
#include<bits/stdc++.h>
using namespace std;
int a[105];
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++)cin >> a[i];
for(int i = 1; i <= n; i++)
if(a[i] % 2 == 0)cout << a[i] << '\n';
}
然后对于这个题需要一个数据生成的 data.cpp
#include<bits/stdc++.h>
#include <random>
using namespace std;
const int M = 1e9;
int main()
{
std::random_device rd;
std::mt19937 rnd(rd());
srand(time(0));
int n;
// 生成一个大小在 1~100之间的随机数,因为题目要求是 n<=100
n = rnd() % 100 + 1;
cout << n << "\n";// 输出 n
for(int i = 1; i <= n; i++)
{
// 生成一个大小在 1~M 中间的随机数并输出
cout << rnd() % M + 1 << " ";
}
cout << '\n';
}
最后要用 pi.cpp 去跑生成的 输入数据,生成最后的输出数据 (duipai.cpp)
#include<bits/stdc++.h>
#include<unistd.h>
using namespace std;
void solve()
{
string p;
int now ;
// 第几组数据
// 生成第几组数据
cin >> now;
while(now)
{
p += char((now % 10) + '0');
now /= 10;
}
reverse(p.begin(), p.end());
// now是第几组数据
// 输入的数据是 in,放在 dir\now.in 下
string in;
// 目标存放 .in 和 .out 的文件夹,按照自己的喜好来
string dir = "C:\\Users\\EDY\\Desktop\\data\\";
in += dir;
in += p;
in += ".in";
string command1 = "data.exe > " + in;
cout << command1 << endl;
system(command1.c_str());// 这行是生成输入的数据
// 标程的输出是 out,放在 dir\now.out;
string out;
out += dir;
out += p;
out += ".out";
string command2 = "pi.exe < " + in + " > " + out;
cout << command2 << endl;
system(command2.c_str());// 这行是生成输出的数据
}
int main()
{
int t;
cin >> t;// 生成的数据组数
// t = 100000;
while(t--)
{
solve();
}
}
有了这三个 .cpp 文件以后,注意得先运行 pi.cpp 文件生成 pi.exe 文件
再运行 data.cpp 文件 生成 data.exe 文件
最后再运行 duipai.cpp 就能生成所对应的 .in 文件和 .out 文件
注意得在对应的目录生成 名字叫做 data 的文件夹
注意第三个 .cpp 文件中的一些参数进行修改具体看注释
全部评论 8
我和“蛟龙突击队”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1861771713689006080
2025-03-31 来自 广东
0已有近200人
2025-03-31 来自 广东
0求加
2025-03-31 来自 广东
0
老师您好,我是《中国团附属_ACGO程序设计集团》队长,希望你能加入我们团队
2024-08-17 来自 广东
0我和“大香蕉树”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1815619424530272256
2024-07-30 来自 浙江
0老师好,
2024-07-29 来自 浙江
0md
2024-07-26 来自 上海
0不懂就问,直接freopen可以吗(
2024-07-26 来自 湖南
0可以,我用的就是freopen
2024-07-26 来自 四川
0教教我 我random用不了
2024-07-26 来自 浙江
0是不是没加c++11
2024-07-26 来自 四川
0
谢谢
2024-07-26 来自 浙江
0他是张秋阳老师(暑假集训营X03 - 3班助教老师)
2024-07-26 来自 浙江
0
感谢老师666
2024-07-26 来自 浙江
0
有帮助,赞一个