nq1s788

dfs на плюсаъ

Sep 29th, 2026
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #include<string>
  4. #include<set>
  5. #include<algorithm>
  6.  
  7. #define ll long long
  8. #define ld long double
  9. #define pb push_back
  10.  
  11. using namespace std;
  12.  
  13. vector<vector<int>> g;
  14. vector<bool> used;
  15. vector<pair<int, int>> answ;
  16.  
  17. void dfs(int h) {
  18.     used[h] = true;
  19.     for (auto e : g[h]) {
  20.         if (!used[e]) {
  21.             answ.push_back({h, e});
  22.             dfs(e);
  23.         }
  24.     }
  25. }
  26.  
  27. int main() {
  28.     int n, m;
  29.     cin>>n>>m;
  30.     g.resize(n);
  31.     for (int i = 0; i < m; i++) {
  32.         int x, y;
  33.         cin>>x>>y;
  34.         x--, y--;
  35.         g[x].push_back(y);
  36.         g[y].push_back(x);
  37.     }
  38.     used.assign(n, false);
  39.     dfs(0);
  40.     for (auto e : answ) {
  41.         cout << e.first + 1 << ' ' << e.second + 1 << '\n';
  42.     }
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment