Pagini recente » Cod sursa (job #1398689) | Cod sursa (job #3259240) | Cod sursa (job #2556537) | Cod sursa (job #1035416) | Cod sursa (job #1010829)
#include <cstdio>
#include <cassert>
#define MAX_N 10
int sol[MAX_N];
bool marked[MAX_N];
void write( FILE *fout, int n ) {
for ( int i = 0; i < n; ++i )
fprintf( fout, "%d ", sol[i] );
fprintf( fout, "\n" );
}
void bkt( FILE *fout, int pos, int n ) {
if ( pos == n ) {
write( fout, n );
return;
}
for ( int i = 1; i <= n; ++i )
if ( !marked[i] ) {
marked[i] = true;
sol[pos] = i;
bkt( fout, pos + 1, n );
marked[i] = false;
}
}
int main() {
FILE *fin, *fout;
fin = fopen( "permutari.in", "r" );
int n;
assert( fscanf( fin, "%d", &n ) == 1 );
fclose( fin );
fout = fopen( "permutari.out", "w" );
bkt( fout, 0, n );
}