Cod sursa(job #2020990)

Utilizator blackcrow13Black Crow blackcrow13 Data 12 septembrie 2017 15:18:41
Problema Submultimi Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("submultimi.in");
ofstream cout("submultimi.out");

vector <vector <int>> subsetGenerator(int n)
{
    vector <vector <int>> subsets;

    for (int bitConf = 1; bitConf < (1<<n); ++bitConf)
    {
        vector <int> newSubset;
        int bitPos = 0;

        while((1<<bitPos) <= bitConf)
        {
            if (bitConf & (1 << bitPos))
            {
                newSubset.push_back(bitPos + 1);
            }
            ++bitPos;
        }
        subsets.push_back(newSubset);
    }
    return subsets;
}

int main()
{
    int n;
    cin >> n;
    vector <vector <int>> subsets = subsetGenerator(n);
    for (auto subset: subsets)
    {
        for(auto nbr: subset)
        {
            cout << nbr << " ";
        }
        cout <<"\n";
    }
    return 0;
}