// All cards tap in at random locations and tap out at the same locations #include #include using namespace std; int main(int argc, char* argv[]) { // Check if there are at least two arguments (including the program name). int n = atoi(argv[1]); int m = atoi(argv[2]); int k = 2 * m; //atoi(argv[3]); int seed = atoi(argv[3]); // Create a random number generator engine std::mt19937 rng(seed); // Mersenne Twister engine std::uniform_int_distribution piers(1, n); std::uniform_int_distribution cards(1, m); cout << n << " " << m << " " << k << endl; vector pp; for (int i = 0; i < m; ++i) { int p = piers(rng); pp.push_back(p); int c = i + 1; cout << p << " " << c << endl; } for (int i = 0; i < m; ++i) { int p = pp[i]; int c = i + 1; cout << p << " " << c << endl; } return 0; }