Cod sursa(job #2638499)

Utilizator andreic06Andrei Calota andreic06 Data 28 iulie 2020 14:30:36
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>

using namespace std;
const int N = 8;

ifstream fin ( "permutari.in" );
ofstream fout ( "permutari.out" );

bitset <N+5> visited ( false );
vector <int> perm;

int n;
void print_perm () {
    for ( int i = 0; i < (int)perm.size (); i ++ )
       fout << perm[i] << ' ';
    fout << '\n';
}
void generate_perm () {
    if ( (int)perm.size () == n )
      print_perm ();
    else {
      for ( int i = 1; i <= n; i ++ )
         if ( !visited[i] ) {
           visited[i] = true;
           perm.push_back ( i );
           generate_perm ();
           visited[perm.back()] = false;
           perm.pop_back();
         }
    }
}
int main()
{
   fin >> n;
   generate_perm ();
    return 0;
}