Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. #include <cmath>
  2. #include <iostream>
  3. #include <map>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. typedef long long ll;
  9.  
  10. int a[5010][1500];
  11. int d[1100];
  12.  
  13. void sum(int x, int y)
  14. {
  15. int l;
  16. l = max(d[x],d[y]);
  17. for (int i = 1; i <= l; ++i)
  18. {
  19. a[x][i] += a[y][i];
  20. a[x][i+1] += (a[x][i] / 10);
  21. a[x][i] = (a[x][i] % 10);
  22. }
  23. d[x] = max(d[x] , d[y]);
  24.  
  25. while (a[x][d[x]+1] > 0)
  26. {
  27. d[x]++;
  28. }
  29. }
  30.  
  31. int main()
  32. {
  33. ll k, n;
  34. cin >> k >> n;
  35.  
  36. for (int i = 0; i <= 5000; i++)
  37. {
  38. for (int j= 0; j <= 1000; j++)
  39. {
  40. a[i][j] = 0;
  41. }
  42. }
  43. for (int i = 0; i <= 1000; i++)
  44. {
  45. d[i] = 0;
  46. }
  47. a[0][1] = 1;
  48. d[0] = 1;
  49.  
  50. for (int i = 1; i <= n; ++i)
  51. {
  52. for (int j = 1; j <= k; j++)
  53. {
  54. if (i - j >= 0)
  55. sum(i, i - j);
  56. }
  57. }
  58.  
  59. for (int i = d[n]; i >= 1; i--)
  60. {
  61. cout << a[n][i];
  62. }
  63. return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement