Cod sursa(job #1117838)

Utilizator BonCipBonciocat Ciprian Mircea BonCip Data 23 februarie 2014 20:30:03
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.77 kb
#include <stdio.h>

#define N_MAX 8
typedef char bool;

int ans[ N_MAX + 1 ];
bool used[ N_MAX + 1 ];

void bkt( int N, int K, FILE * fout ) {
    if( K == N + 1 ) {
        int i;
        for( i = 1; i <= N; i ++ ) {
            fprintf( fout, "%d ", ans[ i ] );
        }
        fprintf( fout, "\n" );
    } else {
        int i;
        for( i = 1; i <= N; i ++ ) {
            if( !used[ i ] ) {
                used[ i ] = 1;
                ans[ K ] = i;
                bkt( N, K + 1, fout );
                used[ i ] = 0;
            }
        }
    }
}

int main( ) {
    FILE * fin, * fout;
    fin = fopen( "permutari.in", "r" );
    fout = fopen( "permutari.out", "w" );

    int N;
    fscanf( fin, "%d", &N );

    bkt( N, 1, fout );

    fclose( fin );
    fclose( fout );
}