Pagini recente » Cod sursa (job #1795268) | Cod sursa (job #396404) | Cod sursa (job #419140) | Cod sursa (job #14315) | Cod sursa (job #2093916)
#include <bits/stdc++.h>
using namespace std;
int number,
binaryPow;
ifstream fin("submultimi.in");
string binaryRepresentation;
template <class type>
void morphToGroup(type number, vector<int> &result){
type bit = 1<<(int)(log2(number));
for ( ;number or bit; bit>>=1 ){
if ( number - bit >= 0 ){
result.push_back(log2(bit)+1);
number -= bit;
}
}
}
inline void solveProblem(){
binaryPow = 1<<(number);
for ( int index = 1; index < binaryPow; index++ ){
vector <int> group;
morphToGroup(index, group);
vector <int> :: reverse_iterator element;
for ( element = group.rbegin(); element < group.rend(); element++)
printf("%d ", *element);
printf("\n");
}
}
int main(){
fin >> number;
freopen("submultimi.out", "w", stdout);
solveProblem();
return 0;
}