Cod sursa(job #196406)
Utilizator | Diaconeasa Andrei AndreiD | Data | 26 iunie 2008 12:35:01 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <stdio.h>
#define Nmax 8
long n,p[Nmax],s[Nmax];
void back_perm(long k)
{long i;
if (k==n+1)
{
for (i=1;i<=n;i++)
printf("%ld ",p[i]);
printf("\n");
}
else
{
for (i=1;i<=n;i++)
if (s[i]==0)
{
s[i]=1;
p[k]=i;
back_perm(k+1);
s[i]=0;
}
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%ld",&n);
back_perm(1);
return 0;
}