Skip to content
Snippets Groups Projects
Commit f2e09afc authored by Jiří Kalvoda's avatar Jiří Kalvoda
Browse files

Místo seedu jde zadat vstup

parent 37ea0d4e
No related branches found
No related tags found
No related merge requests found
...@@ -21,13 +21,25 @@ int main(int argc, char ** argv) ...@@ -21,13 +21,25 @@ int main(int argc, char ** argv)
assert(argc>=3); assert(argc>=3);
std::uniform_int_distribution<unsigned int> dist(0, 1000000000); std::uniform_int_distribution<unsigned int> dist(0, 1000000000);
std::random_device urandom("/dev/urandom"); std::random_device urandom("/dev/urandom");
int seed = argv[2][0]?atoi(argv[2]):dist(urandom);
srand(seed);
int n = atoi(argv[1]); int n = atoi(argv[1]);
vector<int> in(2*n); vector<int> in(2*n);
int seed = 0;
if('A' <= argv[2][0] and argv[2][0] <= 'Z')
{
assert(strlen(argv[2]) == 2*n);
fo(i, 2*n)
in[i] = argv[2][i] - 'A';
}
else
{
seed = argv[2][0]?atoi(argv[2]):dist(urandom);
srand(seed);
fo(i,n) in[i] = i; fo(i,n) in[i] = i;
fo(i,n) in[n+i] = i; fo(i,n) in[n+i] = i;
random_shuffle(in.begin(), in.end()); random_shuffle(in.begin(), in.end());
}
fflush(stdout); fflush(stdout);
int old_stdout = dup(1); int old_stdout = dup(1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment