Cod sursa(job #144810)

Utilizator TabaraTabara Mihai Tabara Data 27 februarie 2008 23:23:54
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <stdio.h>

#define in "permutari.in"
#define out "permutari.out"
#define NMAX 10

int SEL[NMAX], TATA[NMAX];
int N;

void Back(int k);
void Write();

int main()
{    
    freopen( in, "r", stdin );
    freopen( out, "w", stdout );

    scanf( "%d", &N );
    Back( 1 );
    
    return 0;    
}

void Back( int k )
{
     int i;
     if ( k == N+1 )
     {
          for ( i = 1; i <= N; ++i )
              printf( "%d ", TATA[i] );              
          printf( "\n" );
          return;
     }
     
     for ( i = 1; i <= N; ++i )
     {
         if ( !SEL[i] )
         {
              SEL[i] = 1;
              TATA[k] = i;
              Back( k + 1 );              
              SEL[i] = 0;
         }
     }
}