fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. vector< vector<int> > getAllSubsets(vector<int> set)
  6. {
  7. vector< vector<int> > subset;
  8. vector<int> empty;
  9. subset.push_back( empty );
  10.  
  11. for (int i = 0; i < set.size(); i++)
  12. {
  13. vector< vector<int> > subsetTemp = subset;
  14.  
  15. for (int j = 0; j < subsetTemp.size(); j++)
  16. subsetTemp[j].push_back( set[i] );
  17.  
  18. for (int j = 0; j < subsetTemp.size(); j++)
  19. subset.push_back( subsetTemp[j] );
  20. }
  21. return subset;
  22. }
  23.  
  24. int main() {
  25. vector< vector<int> > subsets;
  26. vector<int> set;
  27. for(int i=0;i<5;i++)
  28. {
  29. set.push_back(i);
  30. }
  31. cout<<"hello"<<endl;
  32. subsets=getAllSubsets(set);
  33. cout<<subsets.size()<<endl;
  34. cout<<subsets[2][0]<<endl;
  35. for(int i=0;i<subsets.size();i++)
  36. {
  37. vector<int> x=subsets[i];
  38. for(int j=0;j<x.size();j++)
  39. {
  40. cout<<x[j]<<" ";
  41. }
  42. cout<<endl;
  43. }
  44. return 0;
  45. }
Success #stdin #stdout 0s 5292KB
stdin
Standard input is empty
stdout
hello
32
1

0 
1 
0 1 
2 
0 2 
1 2 
0 1 2 
3 
0 3 
1 3 
0 1 3 
2 3 
0 2 3 
1 2 3 
0 1 2 3 
4 
0 4 
1 4 
0 1 4 
2 4 
0 2 4 
1 2 4 
0 1 2 4 
3 4 
0 3 4 
1 3 4 
0 1 3 4 
2 3 4 
0 2 3 4 
1 2 3 4 
0 1 2 3 4