Advertisement
Nevtr4l

DFS Algorithm

Jun 19th, 2025
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | Source Code | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.   // n: núm. de nodos - m: núm. de aristas
  6.   int n, m; cin >> n >> m;
  7.   vector<vector<int>> adj(n+1);
  8.   while (m--) {
  9.     int u, v; cin >> u >> v;
  10.     adj[u].push_back(v);
  11.     adj[v].push_back(u);
  12.   }
  13.  
  14.   vector<bool> vis(n+1);
  15.   function<void(int)> dfs = [&](int u) {
  16.     vis[u] = true;
  17.     cout << u << ' ';
  18.     for (int& v : adj[u]) {
  19.       if (vis[v]) continue;
  20.       dfs(v);
  21.     }
  22.   };
  23.  
  24.   for (int u = 1; u <= n; u++) {
  25.     if (vis[u]) continue;
  26.     dfs(u);
  27.   }
  28.  
  29.   return 0;
  30. }
Tags: cpp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement