Pagini recente » Cod sursa (job #2371114) | Cod sursa (job #569786) | Cod sursa (job #2588628) | Cod sursa (job #2783729) | Cod sursa (job #1411796)
#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" ;
}