Count Servers that Communicate LeetCode solution in C++

1
class Solution {
2
public:
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]) {
9
bool flag = false;
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;
13
}
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;
17
}
18
if (flag) visited[i][j] = true;
19
}
20
}
21
}
22
int ans = 0;
23
for (int i = 0; i < n; i++)
24
for (int j = 0; j < m; j++)
25
if (visited[i][j]) ans++;
26

27
return ans;
28
}
29
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0