Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3.  
  4. using namespace std;
  5.  
  6. ll mod = 1000000007;
  7.  
  8. ll power(ll a, ll p)
  9. {
  10. if (p == 0)
  11. return 1;
  12.  
  13. if (p % 2)
  14. return power(a, p - 1) * a % mod;
  15.  
  16. ll z = power(a, p / 2);
  17. return z * z % mod;
  18. }
  19.  
  20. int main()
  21. {
  22. ios_base::sync_with_stdio(0);
  23. cin.tie(0);
  24. int n;
  25. cin >> n;
  26.  
  27. ll f[2][5001] = {};
  28.  
  29. for (ll i = 2; i <= n; i++)
  30. {
  31. f[1][1] = i;
  32. f[1][2] = f[1][1] * (i - 1) % mod;
  33.  
  34. for (int j = 3; j <= i; j++)
  35. f[1][j] = (f[0][j - 1] + f[1][j - 1] * (i - 1) % mod) % mod;
  36.  
  37. for (int j = 1; j <= i; j++)
  38. f[0][j] = f[1][j];
  39. }
  40.  
  41. cout << (power(n, n) + mod - f[0][n]) % mod;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement