#cf2015morningeasyb. [cf_2015_morning_easy_b]ヘイホー君と置き換え
[cf_2015_morning_easy_b]ヘイホー君と置き換え
问题描述
将一个字符串重复两次得到的字符串称为平方。例如,abcabc
或 abababab
是平方,但 abc
或 ababab
不是平方。
Heiho君在某一天在路边捡到了一个由小写英文字母组成的长度为 的字符串 。喜欢平方的Heiho君考虑通过重复以下操作来得到平方。
- 选择满足 的整数 和小写英文字母 。然后将 的第 个字符替换为 。
请计算Heiho君为得到平方所需的最小操作次数。
输入
输入以以下形式从标准输入中给出:
- 第 行为整数 ,表示Heiho君捡到的字符串的长度。
- 第 行为Heiho君捡到的字符串 。保证 是一个长度为 的字符串,且仅包含小写英文字母。
输出
如果Heiho君无法得到平方,则输出 ;如果可以得到平方,则输出所需的最小操作次数。输出以 行结尾。
示例1
8
abacbabc
输出示例1
3
通过三次操作可以得到平方字符串 aabcaabc
。
- 将第二个字符替换为
a
,得到aaacbabc
。 - 将第三个字符替换为
b
,得到aabcbabc
。 - 将第五个字符替换为
a
,得到aabcaabc
。
示例2
8
abababab
输出示例2
0
由于 abababab
是平方字符串,不需要进行任何操作。
示例3
5
abcde
输出示例3
-1
无论如何操作都无法得到平方字符串。
示例4
26
codefestivaltwozeroonefive
输出示例4
11