Pagini recente » Cod sursa (job #45956) | Cod sursa (job #110381) | Cod sursa (job #322163) | Cod sursa (job #110387) | Cod sursa (job #2093894)
#include <bits/stdc++.h>
using namespace std;
int number,
binaryPow;
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
string binaryRepresentation;
template <class type>
vector<int> 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;
}
}
reverse(result.begin(), result.end());
return result;
}
inline void solveProblem(){
binaryPow = 1<<(number);
for ( int index = 1; index < binaryPow; index++ ){
vector <int> group = morphToGroup(index);
for ( auto element : group )
fout << element << " ";
fout << "\n";
}
}
int main(){
fin >> number;
solveProblem();
return 0;
}