Advertisement
artemgf

К-ичные числа

Nov 28th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #define _USE_MATH_DEFINES
  2. #include <iostream>
  3. #include <string>
  4. #include <map>
  5. #include <set>
  6. #include <algorithm>
  7. #include <vector>
  8. #include <stdio.h>
  9. #include <cmath>
  10. #include <math.h>
  11. #include <queue>
  12. #include <stack>
  13. #include <climits>
  14. #include <deque>
  15. #include <ctime>
  16. #include <iterator>
  17.  
  18. using namespace std;
  19. const int INF = (int)(2e9);
  20.  
  21. typedef long long ll;
  22. typedef unsigned long long ull;
  23. typedef unsigned int ui;
  24.  
  25. #define mh() make_heap()
  26. #define poph() pop_heap()
  27. #define pushh() push_heap()
  28. #define sor(n) n.begin(), n.end()
  29. #define mp make_pair
  30.  
  31.  
  32. #define files freopen("secretroom.in", "rt", stdin); freopen("secretroom.out", "wt", stdout)
  33.  
  34. int main()
  35. {
  36.     ull n, k;
  37.     cin >> n >> k;
  38.     vector<ull> dpz(n+1, 0);
  39.     vector<ull> dpzn(n+1, 0);
  40.  
  41.     dpz[2] = k - 1;
  42.     dpzn[2] = (k - 1)*k - k + 1;
  43.     for (int i = 3; i <= n; i++)
  44.     {
  45.         dpz[i] = dpzn[i - 1];
  46.         dpzn[i] = (dpz[i - 1] + dpzn[i - 1])*(k - 1);
  47.     }
  48.     cout << dpz[n] + dpzn[n];
  49.  
  50.     system("pause");
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement