Advertisement
Guest User

Untitled

a guest
May 21st, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void dfs(int **matr, int *viewed, int n, int v) {
  6. viewed[v] = 1;
  7.  
  8. for (int j = 0; j < n; ++j) {
  9. if (matr[v][j] and !viewed[j]) {
  10. cout << v+1 << " " << j+1 << endl;
  11. dfs(matr, viewed, n, j);
  12. }
  13.  
  14. }
  15. }
  16.  
  17. int main() {
  18. int n, m;
  19. cin >> n;
  20. cin >> m;
  21.  
  22. // Initialization
  23. int **matr = new int *[n];
  24. for (int i = 0; i < n; ++i) { matr[i] = new int[n]; for(int j = 0; j < n; ++j){matr[i][j] = 0;}}
  25. int *viewed = new int[n];
  26. for (int i = 0; i < n; ++i) { viewed[i] = 0; }
  27. // End of Initialization (Like "End of Civilization")
  28. // {Hello from Nibiru (https://utro.ru/internet/2019/05/20/1400576.shtml)}
  29.  
  30. int I, J;
  31. for (int i = 0; i < m; ++i) {
  32. cin >> I >> J;
  33. matr[I-1][J-1] = 1;
  34. matr[J-1][I-1] = 1;
  35. }
  36.  
  37. dfs(matr, viewed, n, 0);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement