Cod sursa(job #166403)
| Utilizator | Data | 27 martie 2008 22:45:18 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <stdio.h>
int n;
int x[10], s[10];
void Back(int k);
void Write();
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
Back(1);
return 0;
}
void Back(int k)
{
for ( int i = 1; i <= n; i++ )
{
x[k] = i;
if ( !s[i] )
{
s[i] = 1;
if ( k == n ) Write();
else Back(k+1);
s[i] = 0;
}
}
}
void Write()
{
for ( int i = 1; i < n; i++ )
printf("%d ", x[i]);
printf("%d\n", x[n]);
}
