Advertisement
washinson

Untitled

Dec 8th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. #pragma comment(linker, "/STACK:268435456")
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <map>
  6. #include <iomanip>
  7. #include <stack>
  8. #include <string>
  9. #include <set>
  10. #include <queue>
  11. #include <functional>
  12. #include <deque>
  13. #include <cmath>
  14. #include <sstream>
  15. #include <bitset>
  16. #define what_is(x) cerr << #x << " = " << x << endl;
  17. #define IO_OPTIMAZE ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0)
  18.  
  19. using namespace std;
  20.  
  21. #define forn(i,n) for(int i = 0; i < n; ++i)
  22. #define forr(i,n) for(int i = n-1; i >= 0; --i)
  23. #define ALL(x) x.begin(),x.end()
  24. #define mp make_pair
  25. #define sf(x,y) scanf("%" x,&y)
  26. #define pf(x,y) printf("%" x,y)
  27. #define sqr(x) (x)*(x)
  28.  
  29. typedef long long int64;
  30. typedef long double ld;
  31. #define int int64
  32.  
  33. typedef unsigned long long uint64;
  34. typedef pair<int, int> pii;
  35. typedef pair<int64, int64> pii64;
  36. typedef pair<double, double> pdd;
  37. typedef vector<int> vint;
  38. typedef vector<int64> vint64;
  39. typedef vector<double> vd;
  40. typedef vector<vint> vvint;
  41. typedef vector<pii> vpii;
  42.  
  43. template <typename T1, typename T2> istream& operator >> (istream& in, pair<T1, T2>& t) { return in >> t.first >> t.second; }
  44. template <typename T1, typename T2> ostream& operator << (ostream& out, pair<T1, T2>& t) { return out << t.first << " " << t.second; }
  45. template <typename T> istream& operator >> (istream& in, vector<T>& t) { for (int i = 0; i < t.size(); i++) in >> t[i]; return in; }
  46. template <typename T> ostream& operator << (ostream& out, vector<T>& t) { for (int i = 0; i < t.size(); i++) out << t[i] << " "; return out; }
  47.  
  48. map<string, int> dp;
  49.  
  50. int solve(string s) {
  51.     if (s.size() == 0)
  52.         return 1;
  53.  
  54.     int res = dp[s];
  55.     if (res != 0)
  56.         return res;
  57.  
  58.     if (s.size() >= 2) {
  59.         int q = stoi(s.substr(0, 2));
  60.         if (q >= 10 && q <= 33)
  61.             res += solve(s.substr(2));
  62.     }
  63.    
  64.     return res += solve(s.substr(1));
  65. }
  66.  
  67.  
  68. signed main()
  69. {
  70.     IO_OPTIMAZE;
  71.     int rrrr = 1e5;
  72. #ifdef _SANYA
  73.     rrrr = 150;
  74.     freopen("abc.in", "r", stdin);
  75.     freopen("abc.out", "w", stdout);
  76. #else
  77. #define T "height"
  78.     //freopen(T ".in", "r", stdin);
  79.     //freopen(T ".out", "w", stdout);
  80. #endif
  81.     string s; cin >> s;
  82.     cout << solve(s) << endl;
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement