class Solution { public: int matrixScore(vector<vector<int>>& A) { int m = A.size(), n = m ? A[0].size() : 0, res = 0; for (int j = 0; j < n; ++j) { int col = 0; for (int i = 0; i < m; ++i) { //counts digits which are same as A[i][0] col += A[i][0] ^ A[i][j]; } res += (1 << (n - 1 - j)) * max(col, m - col); } return res; } };