Pagini recente » Cod sursa (job #2910372) | Cod sursa (job #871300) | Cod sursa (job #2023705)
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
#define pb push_back
typedef vector < vector <int> > vector2d;
class SubsetsGenerator {
public :
static vector2d getSubsets(int n){
vector2d subsets;
for (int bitMask = 1; bitMask < (1<<n); ++bitMask){
vector <int> newSubset;
for (int floatBit = 1; floatBit <= bitMask; floatBit <<= 1){
if (floatBit & bitMask){
newSubset.pb((int)log2(floatBit) + 1);
}
}
subsets.pb(newSubset);
}
return subsets;
}
};
int main(){
ifstream cin("submultimi.in");
ofstream cout("submultimi.out");
int n;
cin >> n;
vector2d subsets = SubsetsGenerator::getSubsets(n);
for (vector <int> subset : subsets){
for (int i : subset){
cout << i << " ";
}
cout <<"\n";
}
cin.close();
cout.close();
return 0;
}