Cod sursa(job #305051)
| Utilizator | Data | 16 aprilie 2009 01:00:11 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <stdio.h>
#include <stdlib.h>
int p[100],used[100];
void perm(int n,int lev)
{
int i;
if (lev==n+1)
{
for (i=1;i<=n;i++) printf("%d ",p[i]);
puts("");
}
else
{
for (i=1;i<=n;i++)
if (!used[i])
{
used[i]=1;
p[lev]=i;
perm(n,lev+1);
used[i]=0;
}
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
int n;
scanf("%d",&n);
perm(n,1);
fclose(stdout);
return 0;
}
