Guest User

dfs

a guest
Apr 2nd, 2020
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.46 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int arr[4] = { 1,2,3,4 };
  5. int visited[4];
  6.  
  7. void dfs(vector<int>& v) {
  8.     auto sz = v.size();
  9.     if (sz < 4) {
  10.         for (int i = 0; i < 4; ++i) {
  11.             if (!visited[i]) {
  12.                 v.push_back(arr[i]);
  13.                 visited[i] = 1;
  14.  
  15.                 dfs(v);
  16.                 v.pop_back();
  17.                 visited[i] = 0;
  18.             }
  19.         }
  20.         return;
  21.     }
  22.  
  23.     for (auto& c : v)
  24.         cout << c << ' ';
  25.     cout << '\n';
  26. }
  27.  
  28. int main() {
  29.     vector<int> v;
  30.     dfs(v);
  31.  
  32.     return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment