#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include using namespace std; typedef long long ll; int nnn, d, p ; void SolveTest(int kx,int ky){ FILE *out = fopen("gerrymandering.out", "w"); for (int ii = 1; ii <= p; ii++){ int x = 1, y = 1, n = 1, k = 0; for (int i = 1; i <= 300; i++) { for (int j = 1; j <= 300; j++) { fprintf(out, "%i ", n + k); if (x < kx) { x++; continue; } x = 1; k++; } fprintf(out, "\n"); if (y < ky) { y++; x = 1; k = 0; continue; } y = 1; x = 1; k = 0; n += 300/kx; } } } void Input() { FILE *in = fopen("gerrymandering.in", "r"); fscanf(in, "%i %i %i\n", &nnn, &d, &p); } void Output() { FILE *out = fopen("gerrymandering.out", "w"); int x = 1, y = 1, n = 1, k = 0; for (int i = 1; i <= 300; i++) { for (int j = 1; j <= 300; j++){ fprintf(out, "%i ", n + k); if (x < 60) { x++; continue; } x = 1; k++; } fprintf(out, "\n"); if (y < 60) { y++; x = 1; k = 0; continue; } y = 1; x = 1; k = 0; n += 5; } ///////// x = 1, y = 1, n = 1, k = 0; for (int i = 1; i <= 300; i++) { for (int j = 1; j <= 300; j++) { fprintf(out, "%i ", n + k); if (x < 60) { x++; continue; } x = 1; k++; } fprintf(out, "\n"); if (y < 60) { y++; x = 1; k = 0; continue; } y = 1; x = 1; k = 0; n += 5; } } int main() { Input(); //printf("%i\n", d); if (d == 25) { SolveTest(60, 60); return 0; } if (d == 50) { SolveTest(30, 60); return 0; } if (d == 120) { SolveTest(25, 30); return 0; } if (d == 240) { SolveTest(15, 25); return 0; } if (d == 500) { SolveTest(12, 15); return 0; } //for (int i = 2; i <= p; i++) { SolveTest(i); } //SolveTest(); //Output(); return 0; }