Pagini recente » Cod sursa (job #1956839) | Cod sursa (job #2667457) | Cod sursa (job #2096373) | Cod sursa (job #70260) | Cod sursa (job #1276577)
# include <cstdio>
int n,a[20002],k,sol[20002];
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]);
for (int i=1; i<=n; i++) a[i]=i;
backt(1);
return 0;
}