Advertisement
invictus_123

Untitled

Jan 27th, 2021
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3. typedef long long ll;
  4. const int MAX = 1e5 + 10;
  5. const ll MOD = 1e9 + 7;
  6. ll dp[MAX][10];
  7. void add(ll &a, ll b) {
  8. b %= MOD;
  9. a = (a + b) % MOD;
  10. }
  11. int main() {
  12. ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  13.  
  14. int t; cin >> t;
  15. while(t --) {
  16. int n; cin >> n;
  17. string s; cin >> s;
  18. for(int i = 0; i <= n; i ++) for(int j = 0; j < 10; j ++) dp[i][j] = 0;
  19. dp[0][0] = 1;
  20. for(int i = 0; i < n; i ++) {
  21. if(s[i] == '-') {
  22. for(int j = 1; j < 10; j ++) {
  23. for(int k = 0; k <= j; k ++) {
  24. add(dp[i + 1][j], dp[i][k]);
  25. }
  26. }
  27. }
  28. else {
  29. int d = s[i] - '0';
  30. for(int j = 0; j <= d; j ++) add(dp[i + 1][d], dp[i][j]);
  31. }
  32. }
  33. ll ans = 0;
  34. for(int i = 0; i < 10; i ++) add(ans, dp[n][i]);
  35. cout << ans << "\n";
  36. }
  37.  
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement