CF954B String Typing
题目描述
给定一个由 $n$ 个小写拉丁字母组成的字符串 $s$。你需要使用键盘输入这个字符串。
一开始,你有一个空字符串。在输入完整个字符串之前,你可以进行以下操作:
- 在字符串末尾添加一个字符。
此外,你最多可以执行一次额外操作:复制当前字符串并将其追加到自身末尾。
例如,如果你需要输入字符串 abcabca,如果逐个输入所有字符,则需要 $7$ 次操作。但如果你先输入 abc,然后复制并追加,再输入最后一个字符,则只需 $5$ 次操作。
如果你需要输入字符串 aaaaaaaaa,最优做法是先逐个输入 $4$ 个字符,然后复制追加,再输入剩下的字符。
请输出输入给定字符串所需的最少操作次数。
输入格式
第一行输入一个整数 $n$($1 \leq n \leq 100$),表示你需要输入的字符串的长度。
第二行输入一个由 $n$ 个小写拉丁字母组成的字符串 $s$。
输出格式
输出一个整数,表示输入给定字符串所需的最少操作次数。
说明/提示
第一个测试样例在题目描述中已经给出。
在第二个测试样例中,你只能逐个输入所有字符。
由 ChatGPT 4.1 翻译