Q1001: Alphacode
问题描述
Alice和Bob需要互相传送秘密消息,他们正在讨论怎样为他们的消息编码:
Alice:“我们就用一种非常简单的编码吧:我们将’A’视为1,’B’为2,以此类推,’Z’为26。”
Bob:“那是种愚蠢的编码,Alice。假如我发送’BEAN’,编码为25114。你可以用许多种不同的方式去译码!”
Alice:“你当然可以用不同方式译码,但是你将会得到什么单词?除了’BEAN’你会得到’BEAAD’,’YAAD’,’YAN’,’YKD’和’BEKD’。我认为你能够找出正确的译码。那么为什么不能发送’BEAN’呢?”
Bob:“好吧,也许那不是一个好例子,但是我敢打赌,如果你收到一个长度为500的编码,那么将会有上吨不同的译码,那样你可能不只找出一种有意义的译码了。”
Alice:“多少种不同的译码?”
Bob:“数不胜数!”
由于一些原因,Alice并未被Bob说服,所以她需要一个程序来决定对于一个给定的编码,有多少种译码方式。
输入格式
输入包含多组输入集。每个输入集包含一行数字代表一个合法的加密(例如,没有一行会以0开头)。数字与数字间没有空格。以只有一个’0’的一行(此行不需处理)代表输入的结束。
输出格式
对于每个输入集,输出可能的译码数。所有的答案都将在长整型变量的表示范围内。
输入输出样例
25114
1111111111
3333333333
0
输出样例
6
89
1