cheater2k

Unhappy Hacking - AtCoder Regular Contest 059

Nov 21st, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N = 5005;
  5. const int md = 1e9 + 7;
  6. const int inv2 = 5e8 + 4;
  7.  
  8. int n, m;
  9. string s;
  10. int f[N][N];
  11.  
  12. int main() {
  13.     ios_base::sync_with_stdio(false); cin.tie(0);
  14.     cin >> n >> s;
  15.     m = s.size();
  16.  
  17.     f[0][0] = 1;
  18.     for (int i = 1; i <= n; ++i) {
  19.         f[i][0] = (f[i-1][0] + f[i-1][1]) % md;
  20.         for (int j = 1; j <= n; ++j) {
  21.             f[i][j] = (f[i-1][j+1] + f[i-1][j-1] * 2LL % md) % md;
  22.         }
  23.     }
  24.  
  25.     int inv = 1;
  26.     for (int i = 1; i <= m; ++i) inv = 1LL * inv * inv2 % md;
  27.     cout << 1LL * f[n][m] * inv % md << endl;
  28. }
Add Comment
Please, Sign In to add comment