【发布时间】:2012-01-29 04:19:01
【问题描述】:
我在 SPOJ 上练习动态规划问题。但我不知道如何解决这个问题。
谁能帮我解决 SPOJ 上的http://www.spoj.pl/problems/ACODE/ 问题 谢谢!
Alice 和 Bob 需要互相发送秘密消息,并且是 讨论编码信息的方法:
Alice:“让我们使用一个非常简单的代码:我们将把代码分配给‘A’ 单词 1,“B”将是 2,依此类推,直到“Z”被分配 26。”
Bob:“这是一个愚蠢的代码,Alice。假设我给你发了“豆”这个词 编码为 25114。您可以通过多种不同方式对其进行解码! 爱丽丝:“当然可以,但是你会得到什么?以外 “BEAN”,你会得到“BEAAD”、“YAAD”、“YAN”、“YKD”和“BEKD”。我认为 您将能够找出正确的解码。为什么会 你还是给我发了‘BEAN’这个词?”鲍勃:“好吧,也许这很糟糕 例如,但我敢打赌,如果你有一个长度为 5000 的字符串 会有很多不同的解码,你会发现很多 至少有两个不同的是有意义的。”爱丽丝:“多少 不同的解码?”鲍勃:“数百万!”
出于某种原因,爱丽丝仍然不相信鲍勃的论点,所以她 需要一个程序来确定可以有多少解码 使用她的代码为给定的字符串。
输入
输入将由多个输入集组成。每组将包括一个 代表有效加密的最多 5000 位数字的单行 (例如,任何行都不会以 0 开头)。不会有空格 数字之间。 “0”的输入线将终止输入和 不应处理。
输出
对于每个输入集,输出可能的解码次数 输入字符串。所有答案都将在 64 位有符号的范围内 整数。
例子
输入:
25114 1111111111 3333333333 0
输出:
6 89 1
【问题讨论】:
-
没有dp,你可以试试-kodemonk.com/acode-alphacode