Cod sursa(job #648328)
| Utilizator | Data | 13 decembrie 2011 11:44:05 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include<stdio.h>
int sel[16];
int sol[16];
void back( int N, int level) {
if( level == N+1) {
for( int j = 1; j <= N; ++j)
printf("%d ", sol[j]);
printf("\n");
return;
}
for( int i = 1; i <= N; ++i) {
if( sel[i] == 1)
continue;
sol[level] = i;
sel[ i] = 1;
back( N, level+1);
sel[ i] = 0;
}
}
int main() {
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
int N;
scanf("%d", &N);
back(N,1);
return 0;
}