Advertisement
Mihai_Preda

Untitled

Apr 12th, 2021
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int v[40], viz[40], n;
  5.  
  6. // viz[i] = 1, daca am mai pus elementul i
  7. // viz[i] = 0, daca nu am mai pus elementul i
  8.  
  9. // Genereaza toate elementele vectorului incepand de la pozitia pos.
  10. // Adica, generam vectorul v[pos...n]
  11. void backtr(int pos)
  12. {
  13.     if(pos == n)
  14.     {
  15.         for(int i = 0; i < n; i++)
  16.             cout << v[i] << " ";
  17.         cout << "\n";
  18.         return;
  19.     }
  20.     for(int i = 1; i <= n; i++)
  21.     {
  22.         if(viz[i] == 0)
  23.         {
  24.             v[pos] = i;
  25.             viz[i] = 1;
  26.             backtr(pos+1);
  27.             viz[i] = 0;
  28.         }
  29.     }
  30. }
  31.  
  32. int main()
  33. {
  34.     n = 8;
  35.     backtr(0);
  36.     return 0;
  37. }
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement