coroana te rog
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("shuffle.in");
ofstream g("shuffle.out");
int n,s[11],p[11],c1[11],c2[11],a[11],k;
void afis(){
for(int i=1;i<=n;i++)
g<<s[i]<<" ";
g<<endl;
k++;
}
void back(int k) {
for(int i=1;i<=n;i++)
if(p[i]==0&&s[k-1]!=c1[i]&&s[k-1]!=c2[i]){
p[i]=1;
s[k]=i;
if(k==n)
afis();
else
back(k+1);
p[i]=0;
}
}
int main() {
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
a[0]=-1;
a[n+1]=-1;
for(int i=1;i<=n;i++){
c1[a[i]]=a[i-1];
c2[a[i]]=a[i+1];
}
back(1);
if(k==0)
g<<"nu exista";
return 0;
}