Advertisement
Guest User

Untitled

a guest
Dec 21st, 2014
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <math.h>
  4. #include <string>
  5. #include <algorithm>
  6. #include <bitset>
  7. #include <stack>
  8. #include <sstream>
  9. #include <map>
  10.  
  11. using namespace std;
  12.  
  13. int main(int argc, const char * argv[])
  14. {
  15.     while (true) {
  16.         string str;
  17.         cin >> str;
  18.         if (str == "0")break;
  19.         long long DP[5001];
  20.         DP[0] = 1;
  21.         for (int i=1;i<str.length();i++) {
  22.             int temp = (str[i-1]-'0')*10;
  23.             temp += (str[i]-'0');
  24.             if (str[i]-'0')DP[i] += DP[i-1];
  25.             if (temp <= 26 && temp > 9 )DP[i] += i>1? DP[i-2]: DP[0];
  26.             //cout << "substring: " << str.substr(0, i+1) << " now equal: " << DP[i] << endl;
  27.         }
  28.         cout << DP[str.length()-1] << endl;
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement