페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
컴퓨터 과학 과제를 채점할 때, 채점자는 수업 명단에 나열된 순서대로 각 학생을 채점하고 싶어 한다. 하지만 수업 명단을 정렬하는 방식은 상당히 특이하다. 이름을 성에 이어 붙이고(예를 들어 Harry Potter은 PotterHarry가 된다) 모든 대문자를 소문자로 바꾼다. 그런 다음 이 문자열들을 사전순으로 정렬한 결과가 수업 명단의 순서가 된다. 채점자가 과제를 넣어 둘 Unix 디렉터리가 각 학생에게 필요하다.
채점자는 게으르기 때문에, 각 학생의 이니셜(성의 첫 글자 뒤에 이름의 첫 글자를 붙인 것)만을 사용하여 디렉터리를 만들기로 한다. 채점자는 곧 Unix가 디렉터리를 정렬하는 방식으로는 학생들이 더 이상 올바른 순서로 정렬되지 않으며, 중복된 폴더 이름도 생긴다는 사실을 깨닫는다. 큰일이다! 이 문제를 해결해야 한다.
각 이름에 대해, 원래 이름에서 개 이상의 글자를 이니셜에 추가할 수 있다. 단, 아직 선택하지 않은 글자 중 앞에서부터 개를 항상 이니셜에 사용해야 한다. 예를 들어 Harry Potter의 이니셜은 PH이다. 개의 글자를 추가하면 PotH가 되고, 개의 글자를 추가하면 PotterHa가 된다.
채점자들이 도움을 구하러 왔다. 모든 학생을 올바른 정렬 순서로 배치하고, 그 결과로 얻은 모든 ``확장된'' 이니셜이 서로 다르게 만들기 위해 추가해야 하는 글자 수의 최솟값을 채점자들에게 알려 주는 프로그램을 작성해야 한다.
예를 들어 아래 예제 입력에서 이니셜을 정렬하면 (HA, HB, ZZ)가 된다. 글자 세 개를 추가하면 (HaB, HatA, ZZ)가 되며, 이는 올바른 정렬 순서이다.
첫째 줄에는 학생 수를 나타내는 하나의 정수 이 주어진다. 이어지는 개의 줄에는 각각 학생의 이름과 성을 나타내는 두 문자열이 주어진다. 이름과 성은 각각 적어도 한 글자를 포함하며, 영문 대문자와 소문자로만 이루어진다. 각 학생의 이름과 성을 합친 길이는 최대 자이다. 위에서 설명한 방식으로 이어 붙인 이름이 같은 두 학생은 없다.
모든 학생을 올바른 정렬 순서로 배치하기 위해 추가해야 하는 글자 수의 최솟값을 한 줄에 하나의 수로 출력한다.
3
Bob Harris
Andrea Hat
Zanny Zan
3
Rocky Mountain Regional Programming Contest 2017
로그인 상태를 확인하는 중입니다.