问题 6724 --构建字符串

6724: 构建字符串★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 29  解决: 13
[提交][状态][命题人:]

题目描述

给定一个由n个小写字母组成的字符串s。你必须用键盘输入这个字符串。

最初,您有一个空字符串。您可以执行以下操作:

(1)通过键盘在字符串的末尾添加一个字符。

此外,你最多只能执行一次以下额外操作:

(2)复制字符串并将其添加到字符串末尾。

例如,如果您必须键入字符串abcabca,如果您逐个键入所有字符,则可以在7次操作中构建该字符串。但是,如果您先执行3次操作1键入字符串abc,然后执行操作2,复制abc并添加到字符串尾,得到abcabc,最后再键入最后一个字符a,则可以在5次操作中完成字符串的构建。

如果必须键入字符串aaaaaaaaa,最好的选择是先键入4个字符,然后复制字符串,最后键入剩余的字符。这样我们可以在6次操作后完成字符串的构建。

      请输出构建给定字符串所需的最小操作次数。

输入

第一行一个整数n(1n ≤ 100):需要构建的字符串长度;

第二行为一个长度为n的字符串s:需要构建完成的字符串;

输出

      一行一个整数:构建字符串s所需要的最少操作次数;

样例输入
Copy
7
abcabca
样例输出
Copy
5

提示

测试2输入:

8
abcdefgh

测试2输出:

8


提示:

第一个测试样例见题目中的描述;

对于第二个测试样例,只能一个个字符输入,所以需要8次操作。


来源

 

[提交][状态]