Pagini recente » Cod sursa (job #1191544) | Cod sursa (job #2956154) | Cod sursa (job #2497284) | Istoria paginii utilizator/madalici | Cod sursa (job #2020990)
#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;
}