#P1369. Append
Append
P1369. 编码分割问题
题目描述
考虑一种著名压缩算法中使用的编码方案。假设我们只编码小写字母序列。每个字符序列可以被编码为一个由对组成的序列,其中:
- 当时,是一个字符
- 当时,是一个满足的整数
解码过程如下:
- 对于:直接将字符添加到已解码序列末尾
- 对于():从当前序列末尾向前数个位置开始,复制个字符添加到序列末尾
例如,编码序列的解码过程:
- → "a"
- → "aa"(复制最后1个字符1次)
- → "aab"
- → "aabaab"(从倒数第3位开始复制3个字符)
- → "aabaabaab"
- → "aabaabaabaa"(复制倒数第3位开始的2个字符)
- → "aabaabaabaac"
给定编码序列,问题要求计算有多少种方式可以将其分割为,使得:
- 解码后的(和都不为空)
- 和都是有效的编码序列
输入格式
- 由多个块组成,每个块描述一个编码序列
- 每行包含:
- 两个整数(),或
- "0"后跟一个字符
- 每个块以空行结束
输出格式
- 对于每个输入块,输出满足条件的分割方式数量
样例输入
0 a
1 1
0 b
3 3
3 3
3 2
0 c
样例输出
1
题目来源
Central Europe 1997