fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main() {
  6. unsigned N = 5; //number of objects
  7. vector<unsigned> left, right;
  8.  
  9. for (unsigned index=0 ;; ++index) {
  10. left.clear();
  11. right.clear();
  12.  
  13. //treat the index as a number in base 3
  14. //each digit determines the fate of one object
  15. unsigned digits=index;
  16. for (int obj=1; obj<=N; ++obj) {
  17. unsigned pos=digits%3;
  18. digits /= 3;
  19. if (pos == 1)
  20. left.push_back(obj);
  21. else if (pos == 2)
  22. right.push_back(obj);
  23. }
  24.  
  25. if (digits) {
  26. //done all possibilities
  27. break;
  28. }
  29.  
  30. if (left.empty() || right.empty()) {
  31. // don't want empty left or right
  32. continue;
  33. }
  34.  
  35. //got one -- print it
  36. cout << "{ {" <<left[0];
  37. for (size_t i=1; i<left.size(); ++i)
  38. cout << "," << left[i];
  39. cout << "}, {" <<right[0];
  40. for (size_t i=1; i<right.size(); ++i)
  41. cout << "," << right[i];
  42. cout << "} }" << endl;
  43. }
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
{ {2}, {1} }
{ {1}, {2} }
{ {3}, {1} }
{ {2,3}, {1} }
{ {3}, {2} }
{ {1,3}, {2} }
{ {3}, {1,2} }
{ {1}, {3} }
{ {2}, {3} }
{ {1,2}, {3} }
{ {2}, {1,3} }
{ {1}, {2,3} }
{ {4}, {1} }
{ {2,4}, {1} }
{ {4}, {2} }
{ {1,4}, {2} }
{ {4}, {1,2} }
{ {3,4}, {1} }
{ {2,3,4}, {1} }
{ {3,4}, {2} }
{ {1,3,4}, {2} }
{ {3,4}, {1,2} }
{ {4}, {3} }
{ {1,4}, {3} }
{ {4}, {1,3} }
{ {2,4}, {3} }
{ {1,2,4}, {3} }
{ {2,4}, {1,3} }
{ {4}, {2,3} }
{ {1,4}, {2,3} }
{ {4}, {1,2,3} }
{ {1}, {4} }
{ {2}, {4} }
{ {1,2}, {4} }
{ {2}, {1,4} }
{ {1}, {2,4} }
{ {3}, {4} }
{ {1,3}, {4} }
{ {3}, {1,4} }
{ {2,3}, {4} }
{ {1,2,3}, {4} }
{ {2,3}, {1,4} }
{ {3}, {2,4} }
{ {1,3}, {2,4} }
{ {3}, {1,2,4} }
{ {1}, {3,4} }
{ {2}, {3,4} }
{ {1,2}, {3,4} }
{ {2}, {1,3,4} }
{ {1}, {2,3,4} }
{ {5}, {1} }
{ {2,5}, {1} }
{ {5}, {2} }
{ {1,5}, {2} }
{ {5}, {1,2} }
{ {3,5}, {1} }
{ {2,3,5}, {1} }
{ {3,5}, {2} }
{ {1,3,5}, {2} }
{ {3,5}, {1,2} }
{ {5}, {3} }
{ {1,5}, {3} }
{ {5}, {1,3} }
{ {2,5}, {3} }
{ {1,2,5}, {3} }
{ {2,5}, {1,3} }
{ {5}, {2,3} }
{ {1,5}, {2,3} }
{ {5}, {1,2,3} }
{ {4,5}, {1} }
{ {2,4,5}, {1} }
{ {4,5}, {2} }
{ {1,4,5}, {2} }
{ {4,5}, {1,2} }
{ {3,4,5}, {1} }
{ {2,3,4,5}, {1} }
{ {3,4,5}, {2} }
{ {1,3,4,5}, {2} }
{ {3,4,5}, {1,2} }
{ {4,5}, {3} }
{ {1,4,5}, {3} }
{ {4,5}, {1,3} }
{ {2,4,5}, {3} }
{ {1,2,4,5}, {3} }
{ {2,4,5}, {1,3} }
{ {4,5}, {2,3} }
{ {1,4,5}, {2,3} }
{ {4,5}, {1,2,3} }
{ {5}, {4} }
{ {1,5}, {4} }
{ {5}, {1,4} }
{ {2,5}, {4} }
{ {1,2,5}, {4} }
{ {2,5}, {1,4} }
{ {5}, {2,4} }
{ {1,5}, {2,4} }
{ {5}, {1,2,4} }
{ {3,5}, {4} }
{ {1,3,5}, {4} }
{ {3,5}, {1,4} }
{ {2,3,5}, {4} }
{ {1,2,3,5}, {4} }
{ {2,3,5}, {1,4} }
{ {3,5}, {2,4} }
{ {1,3,5}, {2,4} }
{ {3,5}, {1,2,4} }
{ {5}, {3,4} }
{ {1,5}, {3,4} }
{ {5}, {1,3,4} }
{ {2,5}, {3,4} }
{ {1,2,5}, {3,4} }
{ {2,5}, {1,3,4} }
{ {5}, {2,3,4} }
{ {1,5}, {2,3,4} }
{ {5}, {1,2,3,4} }
{ {1}, {5} }
{ {2}, {5} }
{ {1,2}, {5} }
{ {2}, {1,5} }
{ {1}, {2,5} }
{ {3}, {5} }
{ {1,3}, {5} }
{ {3}, {1,5} }
{ {2,3}, {5} }
{ {1,2,3}, {5} }
{ {2,3}, {1,5} }
{ {3}, {2,5} }
{ {1,3}, {2,5} }
{ {3}, {1,2,5} }
{ {1}, {3,5} }
{ {2}, {3,5} }
{ {1,2}, {3,5} }
{ {2}, {1,3,5} }
{ {1}, {2,3,5} }
{ {4}, {5} }
{ {1,4}, {5} }
{ {4}, {1,5} }
{ {2,4}, {5} }
{ {1,2,4}, {5} }
{ {2,4}, {1,5} }
{ {4}, {2,5} }
{ {1,4}, {2,5} }
{ {4}, {1,2,5} }
{ {3,4}, {5} }
{ {1,3,4}, {5} }
{ {3,4}, {1,5} }
{ {2,3,4}, {5} }
{ {1,2,3,4}, {5} }
{ {2,3,4}, {1,5} }
{ {3,4}, {2,5} }
{ {1,3,4}, {2,5} }
{ {3,4}, {1,2,5} }
{ {4}, {3,5} }
{ {1,4}, {3,5} }
{ {4}, {1,3,5} }
{ {2,4}, {3,5} }
{ {1,2,4}, {3,5} }
{ {2,4}, {1,3,5} }
{ {4}, {2,3,5} }
{ {1,4}, {2,3,5} }
{ {4}, {1,2,3,5} }
{ {1}, {4,5} }
{ {2}, {4,5} }
{ {1,2}, {4,5} }
{ {2}, {1,4,5} }
{ {1}, {2,4,5} }
{ {3}, {4,5} }
{ {1,3}, {4,5} }
{ {3}, {1,4,5} }
{ {2,3}, {4,5} }
{ {1,2,3}, {4,5} }
{ {2,3}, {1,4,5} }
{ {3}, {2,4,5} }
{ {1,3}, {2,4,5} }
{ {3}, {1,2,4,5} }
{ {1}, {3,4,5} }
{ {2}, {3,4,5} }
{ {1,2}, {3,4,5} }
{ {2}, {1,3,4,5} }
{ {1}, {2,3,4,5} }