# [3239\. Minimum Number of Flips to Make Binary Grid Palindromic I](https://leetcode.com/problems/minimum-number-of-flips-to-make-binary-grid-palindromic-i/)
:::spoiler Hint
```cpp=
```
:::
:::spoiler Solution
```cpp=
class Solution {
public:
int minFlips(vector<vector<int>>& grid)
{
int m = grid.size(), n = grid[0].size();
int row = 0, col = 0;
for (int i = 0; i < m; ++i)
{
int left = 0, right = n - 1;
while (left < right)
{
if (grid[i][left] != grid[i][right]) ++row;
++left; --right;
}
}
for (int j = 0; j < n; ++j)
{
int up = 0, down = m - 1;
while (up < down)
{
if (grid[up][j] != grid[down][j]) ++col;
++up; --down;
}
}
return min(row, col);
}
};
```
- T: $O(m \cdot n)$
- S: $O(1)$
:::