Cod sursa(job #3168530)

Utilizator OvidRata Ovidiu Ovid Data 12 noiembrie 2023 17:47:39
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.17 kb
#include<bits/stdc++.h>
using namespace std;

string numeFisier="permutari";
ifstream fin(numeFisier+".in"); ofstream fout(numeFisier+".out");
#define cin fin
#define cout fout

#define INIT  ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define mp make_pair
#define pb push_back
#define ft first
#define sc second
#define ll long long
#define pii pair<int, int>
#define count_bits __builtin_popcount
#define int ll


int t, n, m, k, a[300010], q, l, r;


void print_vector(vector<int> &p){
    for(int x:p){
        cout<<x<<" ";
    }
    cout<<"\n";
}

set<int> rem;

void generate_permutation(int i,int n, vector<int> &p){
    if(i>n){
        print_vector(p);
        return;
    }
    set<int> rem2=rem;
    for(int x:rem2){
        p.push_back(x);
        rem.erase(x);
        generate_permutation(i+1, n, p);
        p.pop_back();
        rem.insert( x );
    }
}



int32_t main(){
    INIT


    cin>>n;

    for(int i=1; i<=n; i++){
        rem.insert(i);
    }
    vector<int> p;
    generate_permutation(1, n, p);

    return 0;
}