Pagini recente » Cod sursa (job #1473045) | Cod sursa (job #456650) | Rating a Beginner (theywillpay) | Cod sursa (job #1777617) | Cod sursa (job #2020993)
#include <stdio.h>
#include <vector>
using namespace std;
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()
{
FILE *in = fopen("submultimi.in", "r"),
*out = fopen("submultimi.out", "w");
int n;
fscanf(in, "%d", &n);
vector <vector <int>> subsets = subsetGenerator(n);
for (auto subset: subsets)
{
for(auto nbr: subset)
{
fprintf(out, "%d ",nbr);
}
fprintf(out, "\n");
}
return 0;
}