開啟章節選單
541 Error Correction
程式碼
#include <bits/stdc++.h> using namespace std; int main() { int n; while (scanf("%d", &n), n) { vector<vector<int>> v(n, vector<int>(n)); for (auto &i : v) for (auto &j : i) scanf("%d", &j); int x, y, r, c; r = c = 0; for (int i = 0; i < n; i++) { int cnt = 0; for (int j = 0; j < n; j++) cnt += v[i][j]; if (cnt&1) r++, x = i+1; } for (int i = 0; i < n; i++) { int cnt = 0; for (int j = 0; j < n; j++) cnt += v[j][i]; if (cnt&1) c++, y = i+1; } if (r == 1 && c == 1) printf("Change bit (%d,%d)\n", x, y); else if (!r && !c) printf("OK\n"); else printf("Corrupt\n"); } }