Cod sursa(job #2758108)

Utilizator mihnea_buzoiuMihnea Buzoiu mihnea_buzoiu Data 8 iunie 2021 17:33:55
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
//
//  generare_de_permutari.cpp
//  probleme
//
//  Created by Mihnea Buzoiu on 6/3/21.
//

#include <stdio.h>
#include <iostream>

using namespace std;

bool b[10];
int v[10];

void print(int n){
    for (int i=0; i<n+1; i++)
        printf("%d ", v[i]+1);
    printf("\n");
}

void f(int n, int lv){
    
    for (int i=0; i<=n; i++){
        if (b[i]){
            v[lv] = i;
        
            b[i] = false;
            
            if (lv < n)
                f(n, lv+1);
            else print(n);
            
            b[i] = true;
        }
    }
}

int main(int argc, const char * argv[]) {
    
    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);

    int n;
    scanf("%d", &n);
    
    for (int i=0; i<10; i++)
          b[i] = true;;
    
    f(n-1, 0);
}