3
int countServers(vector<vector<int>> &grid) {4
int n = grid.size(), m = grid[0].size();5
vector<vector<bool>> visited(n, vector<bool>(m, false));6
for (int i = 0; i < n; i++) {7
for (int j = 0; j < m; j++) {8
if (grid[i][j] && !visited[i][j]) {10
for (int x = 0; x < n; x++) {11
if (x != i && grid[x][j] && !visited[x][j]) visited[x][j] = true, flag = true;12
if (!flag && x != i && visited[x][j]) flag = true;14
for (int x = 0; x < m; x++) {15
if (x != j && grid[i][x] && !visited[i][x]) visited[i][x] = true, flag = true;16
if (!flag && x != j && visited[i][x]) flag = true;18
if (flag) visited[i][j] = true;23
for (int i = 0; i < n; i++)24
for (int j = 0; j < m; j++)25
if (visited[i][j]) ans++;