Cod sursa(job #2224311)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 23 iulie 2018 18:15:14
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <vector>
#include <string>

using namespace std;

const string IN_FILE = "submultimi.in";
const string OUT_FILE = "submultimi.out";

void back(const int n, const int k, vector<int>& set, ofstream& out) {
    if (k == n) {
        if (set.empty()) return;
        for (int i = 0; i < int(set.size()); i++) {
            out << set[i] + 1 << (i + 1 < int(set.size()) ? " " : "\n");
        }
        return;
    }
    back(n, k + 1, set, out);
    set.push_back(k);
    back(n, k + 1, set, out);
    set.pop_back();
}

int readInput() {
    ifstream in(IN_FILE);
    int n;
    in >> n;
    in.close();
    return n;
}

int main() {
    const int n = readInput();
    ofstream out(OUT_FILE);
    auto set = vector<int>();
    back(n, 0, set, out);
    out.close();
    return 0;
}