Cod sursa(job #2935299)

Utilizator MAlex2019Melintioi George Alexandru MAlex2019 Data 6 noiembrie 2022 14:31:13
Problema Submultimi Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
vector<int> v;
int n;
void bkt(int pas) {
    if (pas == n) {
        int ok = 0;
        for (int i = 0; i < n; i++)
            ok += v[i];
        if (ok) {
            for (int i = 0; i < n; i++)
                if (v[i])
                    fout << i + 1 << ' ';
            fout << '\n';
        }
        return;
    }
    v.push_back(0);
    bkt(pas + 1);
    v.pop_back();
    v.push_back(1);
    bkt(pas + 1);
    v.pop_back();
}

void afis(int i) {
    int pas = 1;
    while (i) {
        if (i & 1)
            fout << pas << ' ';
        i = i >> 1;
        pas++;
    }
    fout << '\n';
}

int main() {
    fin >> n;
    for (int i = 1; i < (1 << n); i++)
        afis(i);

    return 0;
}