Cod sursa(job #3143211)

Utilizator AlexandraNiculitaAlexandra Niculita AlexandraNiculita Data 28 iulie 2023 09:49:55
Problema Submultimi Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

ofstream fout ("submultimi.out");

int n;
int subset[20], len;

void backtrack(int nr) {
    // Am terminat de generat o submultime
    if(nr == n + 1) {
        if(len > 0) {
            for(int i = 1; i <= len; i++) {
                fout << subset[i] << " ";
            }
            fout << "\n";
        }
        return;
    }
    // Caz 1: nu il iau pe nr in submultimile pe care le generez next
    backtrack(nr + 1);

    // Caz 2: Il iau pe nr in submultimile pe care le generez next
    subset[++len] = nr;
    backtrack(nr + 1);
    --len; // undo
}

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