Pagini recente » Cod sursa (job #1158600) | Cod sursa (job #908517) | Cod sursa (job #500610) | Cod sursa (job #2963289) | Cod sursa (job #2202957)
#include <fstream>
#include <vector>
#define maxn 8
#define f8 40320
using namespace std;
vector <int> v[f8+5];
vector <int> w;
int num = 0;
int n;
void bec ( vector <int> u )
{
int fv[maxn] = { 0, 0, 0, 0, 0, 0, 0, 0 };
int sz = u.size (), i;
for ( i = 0; i < sz; i++ )
fv[u[i]]++;
if ( sz == n )
{
for ( i = 0; i < sz; i++ )
v[num].push_back ( u[i] );
num++;
}
else
{
u.push_back ( -1 );
for ( i = 0; i < n; i++ )
if ( fv[i] == 0 )
{
u[sz] = i;
bec ( u );
}
}
}
int main ()
{
ifstream fin ( "permutari.in" );
ofstream fout ( "permutari.out" );
fin >> n;
int i;
bec ( w );
for ( i = 0; i < num; i++, fout.put ( '\n' ) )
for ( int j = 0; j < v[i].size (); j++ )
fout << v[i][j] + 1 << ' ';
fin.close ();
fout.close ();
return 0;
}