Pagini recente » Cod sursa (job #105032) | Cod sursa (job #372849) | Cod sursa (job #2224061) | Cod sursa (job #2066525) | Cod sursa (job #620730)
Cod sursa(job #620730)
#include <cstdio>
#include <cstdlib>
int n, *a;
void print_sol()
{
for (int i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
}
int valid(int i, int pos)
{
for (int j=0; j<pos; j++)
if ( a[j] == i )
return 0;
return 1;
}
void solve(int pos)
{
for (int i=1; i<=n; i++)
if ( valid(i, pos) )
{
a[pos] = i;
if ( pos == n-1 )
print_sol();
else
solve(pos+1);
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
a = (int*) malloc( n*sizeof(int) );
solve(0);
}