#include "testlib.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define forn(i, n) for (int i = 0; i < int(n); i++) using namespace std; int main(int argc, char* argv[]) { registerGen(argc, argv, 1); int n = atoi(argv[1]); int m = atoi(argv[2]); size_t k = atoi(argv[3]); int t = rnd.next(-2, 2); set > edges; while (edges.size() < k) { int a = rnd.wnext(n, t); int b = rnd.wnext(m, t); edges.insert(make_pair(a, b)); } vector > e(edges.begin(), edges.end()); shuffle(e.begin(), e.end()); vector pa(n); for (int i = 0; i < n; i++) pa[i] = i + 1; shuffle(pa.begin(), pa.end()); vector pb(m); for (int i = 0; i < m; i++) pb[i] = i + 1; shuffle(pb.begin(), pb.end()); cout << n << " " << m << " " << e.size() << endl; forn(i, e.size()) cout << pa[e[i].first] << " " << pb[e[i].second] << endl; return 0; }