Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cmath>
- using namespace std;
- ifstream fin("shuffle.in");
- ofstream fout("shuffle.out");
- int x[100],n,viz[100],p[100],y;
- void afis()
- {
- for(int i=1;i<=n;i++)
- fout<<x[i]<<" ";
- fout<<endl;
- nr++;
- }
- void bkt(int k)
- {
- if(k>n) afis();
- else for(int i=1;i<=n;i++)
- if(viz[i]==0)
- {
- x[k]=i;
- viz[i]=1;
- if(abs(p[x[k]]-p[x[k-1]])>=2)
- bkt(k+1);
- viz[i]=0;
- }
- }
- int main()
- {
- fin>>n;
- for(int i=1;i<=n;i++)
- {
- fin>>y;
- p[y]=i;
- }
- for(int i=1;i<=n;i++)
- {
- x[1]=i;
- viz[i]=1;
- bkt(2);
- viz[i]=0;
- }
- if(nr==0)fout<<"nu exista";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement