fork download
  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4.  
  5. using namespace std;
  6. int a[100][100], vs[100], n, start;
  7.  
  8. void DFS(int u) {
  9. vs[u] = 1;
  10. for (int i = 1; i <= n; i++) {
  11. if (vs[i] == 0 && a[u][i] == 1) {
  12. cout << i << "(" << u << ") ";
  13. DFS(i);
  14. }
  15. }
  16. }
  17.  
  18. int main() {
  19. cout << "So dinh: ";
  20. cin >> n;
  21. // Khoi tao ma tran ke
  22. cout << "Nhap ma tran:\n";
  23. for (int i = 1; i <= n; i++) {
  24. for (int j = 1; j <= n; j++) {
  25. cin >> a[i][j];
  26. }
  27. }
  28. cout << "Thuc hien thuat toan DFS tu dinh: ";
  29. cin >> start;
  30. cout << start << "(0) ";
  31. DFS(start);
  32.  
  33. }
  34.  
  35. /**
  36. Test:
  37.  
  38. 5
  39. 0 1 1 1 0
  40. 1 0 0 0 1
  41. 1 0 0 0 1
  42. 1 0 0 0 1
  43. 0 1 1 1 0
  44.  
  45.  
  46. 13
  47. 0 1 1 1 0 0 0 0 0 0 0 0 0
  48. 1 0 1 1 0 1 0 0 0 0 0 0 0
  49. 1 1 0 1 1 0 0 0 0 0 0 0 0
  50. 1 1 1 0 0 0 1 0 0 0 0 0 0
  51. 0 0 1 0 0 1 1 1 0 0 0 1 0
  52. 0 1 0 0 1 0 1 0 0 0 0 1 0
  53. 0 0 0 1 1 1 0 1 0 0 0 0 0
  54. 0 0 0 0 1 0 1 0 0 0 0 1 0
  55. 0 0 0 0 0 0 0 1 1 0 1 0 1
  56. 0 0 0 0 0 0 0 0 1 0 1 1 1
  57. 0 0 0 0 0 0 0 1 1 0 0 1 1
  58. 0 0 0 0 1 1 0 1 0 1 0 0 0
  59. 0 0 0 0 0 0 0 1 1 1 0 0 0
  60.  
  61. **/
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
So dinh: Nhap ma tran:
Thuc hien thuat toan DFS tu dinh: 0(0)