Pagini recente » Cod sursa (job #1829156) | Cod sursa (job #1518050) | Cod sursa (job #2578250) | Cod sursa (job #2301119) | Cod sursa (job #392815)
Cod sursa(job #392815)
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int x[100];
int n;
int nrsol;
void Write( int k );
void Perm( int k );
bool OK( int k );
int main()
{
fin >> n;
Perm(1);
fin.close();
fout.close();
}
void Perm( int k )
{
if ( k > n )
{
Write(k-1);
return;
}
for ( int i = 1; i <= n; ++i)
{
x[k] = i;
if ( OK( k ) )
Perm(k+1);
}
}
void Write(int k )
{
nrsol++;
for ( int i = 1; i <= k; ++i)
fout << x[i] << ' ';
fout << '\n';
}
bool OK( int k )
{
for ( int i = 1; i < k; ++i )
if ( x[i] == x[k] )
return false;
return true;
}