Pagini recente » Cod sursa (job #1327138) | Cod sursa (job #2808570) | Cod sursa (job #3178438) | Cod sursa (job #2729219) | Cod sursa (job #2271934)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
vector<int>return_submultime(int x, int n){
int var=1;
vector<int>aux;
for(int i=1; i<=n;i++){
if((x&var)==1){
aux.push_back(i);
}
x=x>>1;
}
return aux;
}
vector<vector<int>>submultimi(int n){
vector<vector<int>>answer;
vector<int>aux;
if(n==1){
aux.push_back(1);
answer.push_back(aux);
return answer;
}
int x=1;
for(int i=1; i<n;i++){
x=(x<<1)|1;
}
int var=1;
while(x>0){
aux=return_submultime(x,n);
answer.push_back(aux);
aux.clear();
x=x-1;
}
return answer;
}
int main()
{
int n;
fin>>n;
vector<vector<int>>v=submultimi(n);
for(int i=0; i<v.size();i++){
for(int j=0; j<v[i].size();j++){
fout<<v[i][j]<<" ";
}
fout<<"\n";
}
return 0;
}