Cod sursa(job #495025)
| Utilizator | Data | 23 octombrie 2010 18:33:55 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <stdio.h>
int st[9],n;
void tipar()
{
for(int i=1;i<=n;++i)
printf("%d ",st[i]);
printf("\n");
}
int ok(int k, int val)
{
int valid=1;
for(int i=1; i<k; ++i)
if(st[i]==val)
valid=0;
return valid;
}
void back(int k)
{
if(k==n+1)
tipar();
else
{
for(int val=1; val<=n; ++val)
if(ok(k,val))
{
st[k]=val;
back(k+1);
}
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
}
