Pagini recente » Cod sursa (job #3136756) | Cod sursa (job #2601344) | Cod sursa (job #1169864) | Cod sursa (job #184969) | Cod sursa (job #1276574)
# include <cstdio>
int n,a[20002],k,sol[23323];
using namespace std;
int afis() {
int i;
for (i=1; i<=n; i++)
printf("%d ",a[sol[i]]);
printf ("\n");
}
int ok (int k) {
int i;
for (i=1; i<k; i++)
if (sol[k]==sol[i]) return false;
return true;
}
void backt (int k) {
int i;
if (k>n) afis();
else {
for (i=1; i<=n; i++) {
sol[k]=i;
if (ok(k)==true) backt(k+1);
}
}
}
int main ()
{freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
for (int i=1; i<=n; i++) scanf("%d",&a[i]);
backt(1);
return 0;
}