Cod sursa(job #1199401)

Utilizator hrazvanHarsan Razvan hrazvan Data 19 iunie 2014 13:39:01
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.77 kb
#include <stdio.h>
#define MAXN 8
FILE *out;
int n, stiva[ MAXN ], dr = 0, apare[ MAXN ];

void bkt( int nr ){
    int i;
    if ( nr == 0 ){
        for( i = 0; i < dr; i++ )   fprintf ( out, "%d ", stiva[ i ] );
        fprintf ( out, "\n" );
    }
    else{
        for ( i = 0; i < n; i++ ){
            if( !apare[ i ] ){
                apare[ i ] = 1;
                stiva[ dr ] = i + 1;
                dr++;
                bkt ( nr - 1 );
                dr--;
                apare[ i ] = 0;
            }
        }
    }
    return ;
}

int main()
{
    FILE *in = fopen ( "permutari.in", "r" );
    fscanf ( in, "%d", &n );
    fclose( in );
    out = fopen ( "permutari.out", "w" );
    bkt ( n );
    fclose ( out );
    return 0;
}