Pagini recente » Statistici Pop Andrei (Andr3i) | Cod sursa (job #846691) | Cod sursa (job #1193604) | Cod sursa (job #372776) | Cod sursa (job #1570163)
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
#define N 20
int n;
int per[N];
void afisare()
{
for(int i = 1 ; i <= n ; ++i )
fout << per[i] << ' ';
fout << '\n';
}
bool valid(int val , int k)
{
for(int i = 1 ; i <= k - 1
; ++i )
if(per[i] == val )
return false;
return true;
}
void backt( int k )
{
if ( k == n+1 )
{
afisare();
return ;
}
for( int i = 1 ; i <= n ; ++i ) /// incercam toate valorile posibile
if( valid( i , k ) ) /// returneaza 1 daca putem sa punem pe el i
{
per[k] = i ;
backt( k + 1 ); /// pe niveelul k
}
}
int main()
{
fin >> n ;
backt(1);
return 0;
}