Submission #779381

#TimeUsernameProblemLanguageResultExecution timeMemory
779381vjudge1Chessboard (IZhO18_chessboard)C++17
39 / 100
114 ms5840 KiB
#include <iostream> #define MAX 1000 using namespace std; ///ifstream cin ("c.in"); ///ofstream cout ("c.out"); int a[MAX + 10][MAX + 10]; void speedy() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); } int main() { speedy(); int n, k; cin >> n >> k; for (int kk = 1; kk <= k; kk++) { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; for (int i = x1; i <= x2; i++) for (int j = y1; j <= y2; j++) a[i][j] = 1; } int ans = n * n + 10; for (int side = 1; side < n; side++) if (n % side == 0) { int change, cnt = n / side; ///make (1, 1, side, side) white change = 0; for (int auxi = 1; auxi <= cnt; auxi++) for (int auxj = 1; auxj <= cnt; auxj++) for (int i = side * (auxi - 1) + 1; i <= side * auxi; i++) for (int j = side * (auxj - 1) + 1; j <= side * auxj; j++) { if (auxi % 2 == 1 && auxj % 2 == 1) if (a[i][j] == 1) change++; if (auxi % 2 == 1 && auxj % 2 == 0) if (a[i][j] == 0) change++; if (auxi % 2 == 0 && auxj % 2 == 1) if (a[i][j] == 0) change++; if (auxi % 2 == 0 && auxj % 2 == 0) if (a[i][j] == 1) change++; } ans = min(ans, change); ///make (1, 1, side, side) black change = 0; for (int auxi = 1; auxi <= cnt; auxi++) for (int auxj = 1; auxj <= cnt; auxj++) for (int i = side * (auxi - 1) + 1; i <= side * auxi; i++) for (int j = side * (auxj - 1) + 1; j <= side * auxj; j++) { if (auxi % 2 == 1 && auxj % 2 == 1) if (a[i][j] == 0) change++; if (auxi % 2 == 1 && auxj % 2 == 0) if (a[i][j] == 1) change++; if (auxi % 2 == 0 && auxj % 2 == 1) if (a[i][j] == 1) change++; if (auxi % 2 == 0 && auxj % 2 == 0) if (a[i][j] == 0) change++; } ans = min(ans, change); } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...