해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Arkady의 코드에는 n개의 변수가 있다. 각 변수에는 영어 소문자로만 이루어진 고유한 이름이 있다. 어느 날 Arkady는 자신의 코드를 줄이기로 했다.
그는 각각의 변수 이름을 비어 있지 않은 접두사로 바꾸되, 새 이름들도 여전히 서로 다르기를 원한다(다만 어떤 변수의 새 이름은 다른 변수나 같은 변수의 기존 이름과 일치해도 된다). 이러한 방법 중에서 새 이름들의 총길이가 가능한 한 가장 작은 방법을 찾고자 한다.
문자열 b의 끝에서 일부 문자(하나도 없을 수도 있음)를 삭제하여 문자열 a를 얻을 수 있으면, 문자열 a는 문자열 b의 접두사이다.
새 이름들의 가능한 최소 총길이를 구한다.
첫 번째 줄에 변수의 수를 나타내는 하나의 정수 n (1 ≤ n ≤ )이 주어진다.
다음 n개의 줄에는 한 줄에 하나씩 변수 이름이 주어진다. 각 이름은 비어 있지 않으며 영어 소문자로만 이루어져 있다. 이 문자열들의 총길이는 보다 크지 않다. 변수 이름들은 서로 다르다.
새 변수 이름들의 가능한 최소 총길이를 나타내는 하나의 정수를 출력한다.
3
telegram
digital
resistance
3
5
abba
abb
ab
aa
aacada
11
3
codeforces
codehorses
code
6
첫 번째 예제에서 가장 좋은 방법 중 하나는 주어진 순서대로 이름을 "cod", "co", "c"로 줄이는 것이다.
두 번째 예제에서는 다른 이름들을 변경하지 않고 마지막 이름을 "aac"로, 첫 번째 이름을 "a"로 줄일 수 있다.