#include #include #include #include #include using namespace std; fstream cinn, coutt; long a, b, C, d, e, F; set var; int n, br = 0, maks = 0; bool fal[25][25]; int kol[25], red[25]; vector> fig, ans; void pripromqnakol(bool m[25][25]) { fill_n(red, n, 0); for (int x = 0; x < n; x++)//kol { kol[x] = 0; for (int y = 0; y < n; y++) { if (m[x][y]) { kol[x]++; red[y]++; } } } } short temp = 2; void rec(bool m[25][25], long f, long c) { c = (c ^ a) + b; f = (f ^ d) + e; cout << c << " " << f << endl; if (n < 20 && br > 70) { return; } else if (n > 16 && br > 100) return; if (n==25 && br <=90) { if (maks < br) { maks = br; ans = fig; } } else if (n ==20 && br <= 45) { if (maks < br) { maks = br; ans = fig; } } else if (n == 16 && br <= 30) { if (maks < br) { maks = br; ans = fig; } } else if (n == 8 && br <= 9) { if (maks < br) { maks = br; ans = fig; } } //else if (maks < br) { maks = br; ans = fig; } long mask = 0, step = 1; if (n == 8) { for (int i = 0; i < n; i++) { mask += step * red[i]; if ((i%5)%2== 0)step = step + 1; /*for (int ii = 0; ii < n; ii++) { cout << m[ii][i]; } cout << endl;*/ } } else for (int i = 0; i < n; i++) { mask += step * red[i]; if ((i % 7) % 2 == 0)step = step + 1; /*for (int ii = 0; ii < n; ii++) { cout << m[ii][i]; } cout << endl;*/ } //cout << red[0] << red[1] << red[2] << red[3] << red[4] << red[5] << red[6] << red[7]<> n >> a >> b >> C >> d >> e >> F; rec(fal, F, C); coutt << maks << "\n"; if (n == 8) temp = 1; for (auto a : ans) { coutt << a.second << " " << a.first << "\n"; } }