해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
n개의 소문자 라틴 문자로 이루어진 문자열 s가 주어진다. 키보드를 사용하여 이 문자열을 입력해야 한다.
처음에는 빈 문자열이 있다. 전체 문자열을 입력할 때까지 다음 연산을 수행할 수 있다:
또한 최대 한 번, 문자열을 복사하여 그 자체의 뒤에 이어 붙이는 추가 연산을 수행할 수 있다.
예를 들어 문자열 abcabca를 입력해야 한다면, 모든 문자를 하나씩 입력하여 7번의 연산으로 입력할 수 있다. 하지만 먼저 문자열 abc를 입력한 다음 이를 복사하고 마지막 문자를 입력하면 5번의 연산으로 입력할 수 있다.
문자열 aaaaaaaaa를 입력해야 한다면, 가장 좋은 방법은 문자 4개를 하나씩 입력한 다음 문자열을 복사하고, 그 후 남은 문자를 입력하는 것이다.
주어진 문자열을 입력하는 데 필요한 연산의 최솟값을 출력한다.
입력의 첫 번째 줄에는 정수 하나 n (1 ≤ n ≤ 100)만 주어진다. 이는 입력해야 하는 문자열의 길이이다. 두 번째 줄에는 n개의 소문자 라틴 문자로 이루어진 문자열 s가 주어진다.
주어진 문자열을 입력하는 데 필요한 연산의 최솟값을 나타내는 정수 하나를 출력한다.
8
abcdefgh
8
7
abcabca
5
첫 번째 테스트는 문제 설명에서 다룬 테스트이다.
두 번째 테스트에서는 모든 문자를 하나씩 입력하는 방법만 가능하다.