Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #include <fstream>
  2. #include <cmath>
  3. using namespace std;
  4. ifstream fin("shuffle.in");
  5. ofstream fout("shuffle.out");
  6.  
  7. int x[100],n,viz[100],p[100],y;
  8.  
  9. void afis()
  10. {
  11.     for(int i=1;i<=n;i++)
  12.     fout<<x[i]<<" ";
  13.     fout<<endl;
  14.     nr++;
  15. }
  16. void bkt(int k)
  17. {
  18.     if(k>n) afis();
  19.     else for(int i=1;i<=n;i++)
  20.         if(viz[i]==0)
  21.     {
  22.         x[k]=i;
  23.         viz[i]=1;
  24.         if(abs(p[x[k]]-p[x[k-1]])>=2)
  25.             bkt(k+1);
  26.         viz[i]=0;
  27.     }
  28. }
  29.  
  30. int main()
  31. {
  32.     fin>>n;
  33.     for(int i=1;i<=n;i++)
  34.     {
  35.         fin>>y;
  36.         p[y]=i;
  37.     }
  38.     for(int i=1;i<=n;i++)
  39.     {
  40.         x[1]=i;
  41.         viz[i]=1;
  42.         bkt(2);
  43.         viz[i]=0;
  44.     }
  45.     if(nr==0)fout<<"nu exista";
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement