fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. #define s(n) scanf("%d",&n)
  7.  
  8. template<typename T>
  9. inline std::ostream &operator << (std::ostream & os,const std::vector<T>& v)
  10. {
  11. bool first = true;
  12. os << "[";
  13. for(unsigned int i = 0; i < v.size(); i++)
  14. {
  15. if(!first)
  16. os << ", ";
  17. os << v[i];
  18. first = false;
  19. }
  20. return os << "]";
  21. }
  22.  
  23. typedef vector<int> vi;
  24. typedef vector< vi > vvi;
  25.  
  26. int main()
  27. {
  28. int n = 4;
  29. //s(n);
  30.  
  31. vi list(n, 1);
  32.  
  33. vvi rlist(10);
  34. int count = 0;
  35. rlist[count++] = list;
  36. cout << list << "\n";
  37.  
  38. for (int i = 1; i <= n; ++i)
  39. {
  40. for (int j = n; j >= i; --j)
  41. {
  42. while(list[j] == list[j-1])
  43. {
  44. ++list[j];
  45. cout << list << "\n";
  46. rlist[count++] = list;
  47. }
  48. }
  49. }
  50. return 0;
  51. }
Success #stdin #stdout 0s 3272KB
stdin
Standard input is empty
stdout
[1, 1, 1, 1]
[1, 1, 1, 2]
[1, 1, 2, 2]
[1, 2, 2, 2]
[1, 2, 2, 3]
[1, 2, 3, 3]
[1, 2, 3, 4]