Cod sursa(job #2225950)

Utilizator NecoaraGabrielNecoara Gabriel-Stefan NecoaraGabriel Data 28 iulie 2018 19:47:49
Problema Submultimi Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb

#include<iostream>
#include<fstream>

using namespace std;

ifstream f("submultimi.in");
ofstream g("submultimi.out");

int N,*a;
void afisare(int n)
{
    for(int i =1; i<=n;i++)
        if(a[i]!=0)
            g<<a[i]<<" ";
    g<<endl;
}
bool valid(int k)
{
    if(a[k-1] >= a[k] && k>1)
        return false;

    return true;
}
void backtracking(int k)
{
    int i;
    for(i=1;i<=N;i++)
    {
        a[k] = i;
        if(valid(k))
        {
            afisare(k);
            if(k<N)
                backtracking(k+1);
        }
    }
}
int main()
{
    f>>N;
    a = new int[N+1];
    for(int i=1;i<=N;i++)
        a[i]=0;

    backtracking(1);
    return 0;
}