#P13175. [GCJ 2017 #3] Googlements
[GCJ 2017 #3] Googlements
Description
化学家研究元素周期表中的元素,而在 Code Jam,我们一直在用先进的数字粉碎机研究 googlement。googlement 是一种可以用最多九位数字表示的物质。长度为 的 googlement 只能包含 到 (包含 )之间的十进制数字,并且必须至少包含一个大于 的数字。允许前导零。例如, 和 是长度为 的合法 googlement。(包含了一个大于 googlement 长度 的数字 )和 (没有任何大于 的数字)都不是合法的 googlement。
任何合法的 googlement 都可能在世界上随时出现,但最终会以确定性的方式衰变为另一个 googlement。具体规则如下:对于长度为 的 googlement,统计其中 的个数(可能为 ),并写下该值,然后统计 的个数并写在前一个数字的右边,依此类推,直到统计并写下 的个数。这样生成的新字符串就是新的 googlement,其长度同样为 。有时 googlement 甚至可能衰变为自身!
例如,假设 googlement 刚刚出现。它包含一个 ,零个 ,零个 ,两个 ,因此会衰变为 googlement 。 包含一个 ,一个 ,零个 ,零个 ,因此会衰变为 ,接着衰变为 ,再衰变为 ,再衰变为 ,最后会不断地衰变为自身。
你刚刚观察到了一个 googlement 。这个 googlement 可能是刚刚在世界上出现的,也可能是经过一次或多次衰变后的结果。请问, 最初在世界上出现时可能是哪几个不同的 googlement?请输出所有可能的数量。
Input Format
第一行包含测试用例的数量 。接下来有 组测试数据,每组一行,包含一个字符串 ,表示一个 googlement。
Output Format
对于每组测试数据,输出一行 Case #x: y,其中 是测试用例编号(从 开始), 是观察到的 googlement 最初可能的不同 googlement 的数量。
3
20
1
123
Case #1: 4
Case #2: 1
Case #3: 1
Hint
样例解释
样例 中,googlement 最初可能是 ,也可能是由 衰变而来,而 又可能由 或 衰变而来。这两者都不可能是其他 googlement 衰变的结果。所以总共有四种可能。
样例 中,googlement 必须最初就是 ,这是唯一可能的长度为 的 googlement。
样例 中,googlement 必须最初就是 ,没有其他 googlement 能够衰变为它。
数据范围
- 。
- 中每一位都是 到 的长度之间的十进制数字。
- 至少包含一个非零数字。
小数据集(3 分,测试点 1 - 可见)
- 时间限制:
205 秒。 - 的长度 。
大数据集(10 分,测试点 2 - 隐藏)
- 时间限制:
6015 秒。 - 的长度 。
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号