fork(4) download
  1. #include <iostream>
  2. using namespace std;
  3. typedef long long ll;
  4. #define SIZE 500
  5.  
  6. ll memo[500][500] = {0};
  7.  
  8. ll partition(ll n, ll max){
  9. if (max == 0)
  10. return 0;
  11. if (n == 0)
  12. return 1;
  13. if (n < 0)
  14. return 0;
  15.  
  16. if (memo[n][max] != 0)
  17. return memo[n][max];
  18. else
  19. return (memo[n][max] = (partition(n, max-1) + partition(n-max,max)));
  20. }
  21.  
  22. int main() {
  23. int n;
  24. cin >> n;
  25.  
  26. cout << partition(n,n) << endl;
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 5424KB
stdin
50
stdout
204226