diff --git a/subway/gen.cpp b/subway/gen.cpp index 74dd047..433d09a 100644 --- a/subway/gen.cpp +++ b/subway/gen.cpp @@ -1,5 +1,33 @@ #include using namespace std; +mt19937 ran(time(0)); +int n, m, q; int main() { + freopen("in", "w", stdout); + n = ran() % 500 + 1; + m = ran() % 20000 + 1; + q = ran() % 200 + 1; + printf("0 %d %d 20 %d\n", n, m, q); + for(int i = 1; i <= m; ++i) { + printf("%d ", ran() % (1000000000) + 1); + } + putchar('\n'); + for(int i = 1; i <= n; ++i) { + bool vis[m + 1] = {0}; + int k = ran() % m + 1; + printf("%d ", k); + for(int j = 1; j <= k; ++j) { + int sta = ran() % m + 1; + while(vis[sta + 1]) sta = ran() % m + 1; + vis[sta] = 1; + printf("%d %d ", sta, ran() % (1000000000) + 1); + } + putchar('\n'); + } + while(q--) { + int x = ran() % m + 1, y = ran() % m + 1; + while(x == y) x = ran() % m + 1; + printf("%d %d\n", x, y); + } return 0; } \ No newline at end of file