多组数据输入输出
(此处是题目T324159 卡空间的题目/电脑白吃(有数据,而且有100个))
的数据制作
配置文件 :
#include <fstream>
#include <iostream>
#include <string>
#include<bits/stdc++.h>
#define ll long long
#define for1(i,a,b) for(register ll i = a;i <= b;i ++)
using namespace std;
int main()
{
freopen("config.yml","w",stdout);
for1(i,1,100)
{
printf("%d.in:\n",i);
printf(" timeLimit: 50\n");
printf(" memoryLimit: 1000\n");
printf(" score: 114514\n");
printf(" subtaskId: 1\n");
printf("\n");
}
return 0;
}
数据生成器 :
#include<bits/stdc++.h>
#define ll long long
#define for1(i,a,b) for(register ll i = a;i <= b;i ++)
using namespace std;
const int maxn = 1e7 + 5;
const int mod = 1e9;
int n;
ll suiji1()//拿到1个1到n之间的数字
{
return ((((1ll * rand()) << 15ll) | (1ll * rand())) % n * 39) % n + 1;
}
ll suiji2()//拿到1个1到1e9之间的数字
{
return ((((1ll * rand()) << 15ll) | (1ll * rand())) % mod * 39) % mod + 1;
}
int vis[maxn],a[maxn];
char filePath[10000]; //为filePath配空间
int main()
{
srand(time(0));
int T = 100;
while(T--)
{
sprintf(filePath, "%d.in", T + 1); //命名为"0.txt", "1.txt", …
ofstream outfile;
outfile.open(filePath);
n = 1e5;
outfile << n << '\n';
ll mx = 0;
for1(i,1,n) a[i] = 0;
int zhong = suiji2();
int num = 0;
while(num <= n/2)
{
int k = suiji1();
if(a[k] == 0)
{
num ++;
a[k] = zhong;
}
}
for1(i,1,n)
{
if(a[i] == 0)
{
int k = suiji2();
while(k == zhong) k = suiji2();
a[i] = k;
}
}
for1(i,1,n)
outfile << a[i] << ' ';
outfile << endl;
outfile.close();
}
return 0;
}
标程:
#include<bits/stdc++.h>
#define ll long long
#define for1(i,a,b) for(register ll i = a;i <= b;i ++)
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int num,now,n,x;
char filePath[10000]; //为filePath配空间
int main()
{
int T = 100;
while(T--)
{
sprintf(filePath, "%d.in", 100 - T); //命名为"0.txt", "1.txt", …
ofstream fout;
ifstream fin;
fin.open(filePath);
fin >> n;
for1(i,1,n)
{
fin >> x;
now = (num == 0?x:now);
num += (x == now?1:-1);
// cout << now << ' ' << num << endl;
}
fin.close();
sprintf(filePath, "%d.out", 100 - T); //命名为"0.txt", "1.txt", …
fout.open(filePath);
fout << now << endl;
}
return 0;
}