-
Notifications
You must be signed in to change notification settings - Fork 0
/
generator.cc
51 lines (45 loc) · 1.3 KB
/
generator.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <bits/stdc++.h>
#include "testlib.h"
// begin templates
void makecase(std::ostream&, int);
void setseed(int testcase_idx) {
// これだとテストケースを予測されやすいので seed を加工するなどする必要があるかもしれない
long long seed = testcase_idx;
rnd.setSeed(seed);
}
void makecase_rime(const std::string& filename, int testcase_idx) {
setseed(testcase_idx);
std::ofstream ofs(filename);
makecase(ofs, testcase_idx);
ofs.close();
}
void makecase_yukicoder(const std::string& filename, int testcase_idx) {
setseed(testcase_idx);
makecase(std::cout, testcase_idx);
std::cerr << filename << std::endl;
}
// end templates
// begin constraints
const long long MIN_N = 2;
const long long MAX_N = 1000000000000LL;
// end constraints
void makecase(std::ostream& os, int testcase_idx) {
long long N = rnd.next(MIN_N, MAX_N);
os << N << std::endl;
}
int main(int argc, char** argv) {
registerGen(argc, argv, 1);
#ifdef IS_NOT_YUKICODER
int case_num = 10;
for (int t = 0; t < case_num; ++t) {
makecase_rime(format("01_random_%02d_r.in", t + 1).c_str(), t);
}
#else
int t;
std::cin >> t;
// to 0-origin
--t;
makecase_yukicoder(format("01_random_%02d_y", t + 1).c_str(), t);
#endif
return 0;
}