fork download
  1. //tonynater - Brilliant 2013
  2.  
  3. #include <algorithm>
  4. #include <bitset>
  5. #include <cassert>
  6. #include <cmath>
  7. #include <ctime>
  8. #include <fstream>
  9. #include <iomanip>
  10. #include <iostream>
  11. #include <list>
  12. #include <map>
  13. #include <queue>
  14. #include <set>
  15. #include <sstream>
  16. #include <stack>
  17. #include <string>
  18. #include <vector>
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. #include <string.h>
  22.  
  23. using namespace std;
  24.  
  25. #define sz(x) ((int) x.size())
  26.  
  27. typedef long double ld;
  28. typedef long long ll;
  29. typedef pair<int, int> pii;
  30.  
  31. const double pi = acos(-1);
  32. const double tau = 2*pi;
  33. const double epsilon = 1e-6;
  34.  
  35. const int MAX_N = 45;
  36.  
  37. ll dp[MAX_N][MAX_N];
  38. ll nSeq(int len, int val)
  39. {
  40. if(val < 0 || val > MAX_N) return 0;
  41. else if(dp[len][val] != -1) return dp[len][val];
  42. else return (dp[len][val] = nSeq(len-1, val+1) + nSeq(len-1, val-1));
  43. }
  44.  
  45. int main (int argc, const char * argv[])
  46. {
  47. ios_base::sync_with_stdio(0);
  48. cin.tie(NULL);
  49.  
  50. fill_n(&dp[0][0], MAX_N*MAX_N, -1);
  51.  
  52. dp[0][0] = 1;
  53. for(int i = 1; i < MAX_N; i++)
  54. dp[0][i] = 0;
  55.  
  56. cout << nSeq(40, 0) << '\n';
  57.  
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0s 3492KB
stdin
Standard input is empty
stdout
6564120420