#ATarc060d. [ARC060F] 最良表現
[ARC060F] 最良表現
题目描述
设 为长度至少为 的字符串。对于任意字符串 以及大于等于 的整数 ,如果 重复 次得到的字符串与 不同,则称 为好字符串。例如,a、bbc、cdcdc 等是好字符串,而 aa、bbbb、cdcdcd 等不是好字符串。
设 为长度至少为 的字符串。对于由 项组成的序列 ,如果同时满足以下条件,则称 是 的好表示:
- 对于所有 , 是好字符串。
- 将 按顺序连接起来得到 。
例如,当 aabb 时, 的好表示共有 种:
aabbaabbaabbaabbaabb
在所有 的好表示中,项数 最小的表示称为 的最优表示。例如,aabb 的最优表示只有 aabb 这一种。
给定字符串 ,请你求出以下两项:
- 的最优表示的项数;
- 的最优表示的总数对 取模的结果。
保证对于给定的 ,一定存在好表示。
输入格式
输入为一行,包含字符串 。
输出格式
输出共两行:
- 第 行输出 的最优表示的项数。
- 第 行输出 的最优表示的总数对 取模的结果。
样例 1
输入
aab
输出
1
1
样例 2
输入
bcbc
输出
2
3
样例 3
输入
ddd
输出
3
1
说明/提示
限制
- 仅由小写英文字母(
a-z)组成。
部分分
- 若能正确解决 的数据,将获得 分。
样例解释 2
对于该输入,项数为 的最优表示共有如下 种:
bcbcbcbcbcbc
由 ChatGPT 4.1 翻译