Cod sursa(job #2316346)

Utilizator AlexGAlexandru Gheorghe AlexG Data 11 ianuarie 2019 16:40:21
Problema Submultimi Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;

int stiva[19], n;
ofstream fout("submultimi.out");
void afiseaza(int j)
{
    for(int i=1; i<=j; ++i)
        fout << stiva[i] << ' ';
    fout << '\n';
}

bool esteValida(int j)
{
    for(int i=1; i<j; ++i)
        if(stiva[i] >= stiva[j])
            return false;
    return true;
}

void backtrack(int j)
{
    for(int i=1; i<=n; ++i)
    {
        stiva[j] = i;
        if(esteValida(j))
        {
            afiseaza(j);
            if(j<n)
                backtrack(j+1);
        }
    }
}

int main()
{
    ifstream fin("submultimi.in");
    fin >> n;
    backtrack(1);
    return 0;
}