Zvonimir
시간 제한2초메모리 제한128 MB
한 글자 입력하거나 이미 입력한 연속 부분을 복사해 붙이는 두 연산으로 문자열 X를 만드는 최소 연산 횟수를 구한다.
문제
고란은 노래 부르기를 좋아한다. 가장 좋아하는 노래는 Kletva kralja Zvonimira인데, 가사를 다 외웠는지 확신이 서지 않아 가사를 컴퓨터에 옮겨 적어 보기로 했다. 가사는 영어 소문자로만 이루어진 문자열 이다.
고란이 쓸 수 있는 연산은 두 가지뿐이고, 어느 쪽이든 한 번으로 센다.
- 아직 적지 않은 다음 글자 하나를 직접 입력한다.
- 지금까지 적어 놓은 텍스트에서 연속한 한 부분을 골라 복사한 다음, 그 복사본을 텍스트 맨 뒤에 붙인다. 고르는 부분의 길이와 위치에는 제한이 없다.
두 번째 연산에서 복사하는 부분은 그 연산을 하기 직전의 텍스트 안에 통째로 들어 있어야 한다. 붙여 넣는 도중에 늘어난 글자를 다시 복사 대상에 포함할 수는 없다.
문자열 를 처음부터 끝까지 완성하는 데 필요한 최소 연산 횟수를 구하여라.
입력
첫째 줄에 고란이 옮겨 적으려는 문자열 가 주어진다. 는 영어 소문자로만 이루어져 있으며, 길이는 을 만족한다.
출력
첫째 줄에 고란이 전체를 적는 데 필요한 최소 연산 횟수 를 출력한다.
참고
가 judinisinovi이면 j, u, d, i, n, i, s, in, o, v, i 순서로 적어서 번 만에 끝낼 수 있다. 여덟 번째 연산에서는 앞서 적어 둔 in을 복사해 뒤에 붙인다.