Cod sursa(job #2549933)

Utilizator gabbie02Thomits Gabriel gabbie02 Data 18 februarie 2020 09:27:33
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>

using namespace std;

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

unsigned short int perm[8];

bool valid(unsigned short int k)
{
    for(unsigned short int i = 0; i < k; i++){
        if(perm[i] == perm[k]){
            return false;
        }
    }
    return true;
}

void backtr(unsigned short int n, unsigned short int ind = 0)
{
    for(unsigned short int i = 1; i <= n; i++){
        perm[ind] = i;
        if(valid(ind)){
            if(ind == n - 1){
                for(unsigned short int j = 0; j <= ind; j++){
                    fout << perm[j] << " ";
                }
                fout << '\n';
            } else {
                backtr(n, ind + 1);
            }
        }
    }
}

int main()
{
    unsigned short int n;
    fin >> n;
    backtr(n);
    return 0;
}