Cod sursa(job #2604111)

Utilizator d1n000Rusu Andrei d1n000 Data 21 aprilie 2020 17:20:47
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;

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

int n, i, st[10];

int succesor(int k)
{
    if (st[k] < n){
        st[k]++;
        return 1;
    }
    else return 0;
}

int valid(int k)
{
    int i, ev = 1;
    for (i = 1; i < k; i++)
        if (st[i] == st[k])
            ev = 0;
    return ev;
}

void back(int k)
{
    if (k == n + 1){
        for (i = 1; i <= n; i++)
            fout << st[i] << " ";
        fout << "\n";
    }
    else{
        st[k] = 0;
        while (succesor(k)){
            if (valid(k))
                back(k + 1);
        }
    }
}

int main()
{
    fin >> n;
    back(1);
    fin.close();
    fout.close();
    return 0;
}