您的位置:首页 > 其它

1001: Alphacode

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