Cod sursa(job #1411796)

Utilizator jurjstyleJurj Andrei jurjstyle Data 31 martie 2015 22:35:38
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std ;

ifstream f("permutari.in");
ofstream g("permutari.out");

int n , x[20], uz[20] ;

int valid(int k) ;
void afisare(int k) ;
void backtracking(int k) ;

int main()
{
 f >> n ;
 backtracking ( 1 ) ;
 return 0 ;
}

void backtracking ( int k )
{
 for ( int i = 1 ; i <= n ; ++i )
    if ( !uz[i] )
        {
          x[k] = i ;
          uz[i] = 1 ;
          if ( k == n )
            afisare ( k ) ;
          else
            backtracking( k + 1 ) ;
          uz[i] = 0 ;
        }
}

int valid( int k )
{
 for ( int i = 1 ; i <= k - 1 ; ++i)
    if ( x[i] == x[k] )
        return 0 ;
 return 1 ;
}


void afisare( int k )
{
 for ( int i = 1 ; i <= k ; ++i )
    g << x[i] << " " ;
 g << "\n" ;
}