fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const long long MaxN = 55;
  4. long long n;
  5. long long a[MaxN];
  6. void backtrack(long long pos, long long sum)
  7. {
  8. if(sum==n)
  9. {
  10. for (long long i=1; i<=pos-1; i++)
  11. {
  12. cout << a[i] << " ";
  13. }
  14. cout << "\n";
  15. return ;
  16. }
  17. for (long long i=max(a[pos-1],1ll); i<=n-sum; i++)
  18. {
  19. a[pos]=i;
  20. backtrack(pos+1,sum+i);
  21. }
  22. }
  23. int main()
  24. {
  25. ios_base::sync_with_stdio(0);
  26. cin.tie(0);
  27. cin >> n;
  28. backtrack(1,0);
  29. }
  30.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout