Cod sursa(job #1729513)

Utilizator RRomaniucRomaniuc Radu Andrei RRomaniuc Data 14 iulie 2016 22:56:08
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<stdio.h>
int stiva[17] = {0}, n;
FILE *inputFile = fopen("submultimi.in","r"), *outputFile = fopen("submultimi.out", "w");
void afiseazaSubmultime(int nivel)
{
    for(int i = 1; i <= nivel; i++)
        fprintf(outputFile, "%d ", stiva[i]);
    
    fprintf(outputFile, "\n");
}
bool valid(int nr, int nivel)
{
    for(int i = 1; i <= nivel; i++)
        if(nr == stiva[i]) return false;
    
    return true;
}
void BKT(int nivel, int nr)
{
    for(int i = nr; i <= n; i++)
        if(valid(i,nivel-1) == true)
        {
            stiva[nivel] = i;
            afiseazaSubmultime(nivel);
            BKT(nivel+1, i);
        }
}
int main()
{
    fscanf(inputFile, "%d", &n);
   
    BKT(1, 1);
    
    
    return 0;
}