CF954B String Typing

题目描述

给定一个由 $n$ 个小写拉丁字母组成的字符串 $s$。你需要使用键盘输入这个字符串。 一开始,你有一个空字符串。在输入完整个字符串之前,你可以进行以下操作: - 在字符串末尾添加一个字符。 此外,你最多可以执行一次额外操作:复制当前字符串并将其追加到自身末尾。 例如,如果你需要输入字符串 abcabca,如果逐个输入所有字符,则需要 $7$ 次操作。但如果你先输入 abc,然后复制并追加,再输入最后一个字符,则只需 $5$ 次操作。 如果你需要输入字符串 aaaaaaaaa,最优做法是先逐个输入 $4$ 个字符,然后复制追加,再输入剩下的字符。 请输出输入给定字符串所需的最少操作次数。

输入格式

第一行输入一个整数 $n$($1 \leq n \leq 100$),表示你需要输入的字符串的长度。 第二行输入一个由 $n$ 个小写拉丁字母组成的字符串 $s$。

输出格式

输出一个整数,表示输入给定字符串所需的最少操作次数。

说明/提示

第一个测试样例在题目描述中已经给出。 在第二个测试样例中,你只能逐个输入所有字符。 由 ChatGPT 4.1 翻译