class Solution {
public:
    /**
     * 解码
     * @param nums string字符串 数字串
     * @return int整型
     */
    int solve(string s) {
        int p = 0, q = 0, r =1;
        for(int i = 0; i<s.size(); i++){
            p = q;  // 前两个
            q = r;  // 前一个
            r = 0;  // 当前的
            r += q;
            if(i == 0){
                continue;
            }
            auto pre = s.substr(i-1, 2);
            if((pre < "20" && pre > "10") || (pre>"20"&&pre<"27")){
                r += p;
            }
            else if(pre[1] == '0' && pre[0] > '2') return 0;
        }
        return r;
    }
};