fork(1) download
  1. #include <iostream>
  2. #include <queue>
  3. using namespace std;
  4. int main() {
  5. int n, v, counter = 0;
  6. cin >> n >> v;
  7. queue <int> plan;
  8. plan.push(--v);
  9. int matrix[n][n];
  10. for (int i = 0; i < n; i++)
  11. for (int j = 0; j < n; j++)
  12. cin >> matrix[i][j];
  13. while (!plan.empty()) {
  14. v = plan.front();
  15. plan.pop();
  16. if (!matrix[v][v]) {
  17. for (int j = 0; j < n; j++)
  18. if (matrix[v][j] and !matrix[j][j]) plan.push(j);
  19. matrix[v][v] = 1;
  20. counter++;
  21. }
  22. }
  23. cout << counter << endl;
  24. }
Success #stdin #stdout 0s 4164KB
stdin
5 1
0 1 1 0 0
1 0 1 0 0
1 1 0 0 0
0 0 0 0 1
0 0 0 1 0
stdout
3