시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
국제화(internationalization)와 지역화(localization)는 긴 단어라서 보통 i18n, l10n으로 줄여 씁니다. 첫 글자와 마지막 글자 사이에 있는 숫자는 생략된 글자의 개수를 뜻합니다. 이 축약 방식은 어떤 단어에도 자연스럽게 적용할 수 있는 매우 강력한 방법입니다.
단어는 그 단어가 텍스트에서 앞서 등장한 적이 있을 때에만 축약할 수 있습니다. 단어를 축약할 때에는 첫 글자와 마지막 글자만 남기고, 그 사이의 모든 글자를 생략된 글자 수로 바꿉니다.
여러분이 할 일은 주어진 텍스트에서 이러한 축약형을 가능한 경우마다 원래 단어로 되돌리는 프로그램을 작성하는 것입니다. 축약형은 그 확장이 유효하고(valid) 모호하지 않을(unambiguous) 때에만 확장할 수 있습니다.
i18n을 internationalization으로 확장하는 것은 유효합니다(앞에서 internationalization이 대문자 I로만 등장했더라도 마찬가지입니다). 반면 p14n을 parameterization으로 확장하는 것은 유효하지 않습니다. parameterization이 그 축약형보다 앞서 등장한 적이 없기 때문입니다. 또한 a11n을 abbreviation으로 확장하는 것도 유효하지 않습니다. a11n은 abbreviation의 올바른 축약형이 아니기 때문입니다(올바른 축약형은 a10n입니다).l10n은 localization으로 모호함 없이 확장되지만, p5m은 problem과 program이 모두 p5m으로 축약되기 때문에 모호함 없이 확장할 수 없습니다.입력은 최대 1000줄이며, 각 줄은 최대 80자입니다. 각 줄은 하나 이상의 단어로 이루어지며, 단어는 공백과 특수 기호 -, ,, ., ", (, ), :, ;, !, ?로 구분됩니다. 줄 끝에 공백은 없지만, 다른 구분 기호는 줄 끝에 올 수 있습니다.
각 단어는 완전한 단어이거나 축약된 단어입니다.
l7e, F3t C5l L4r, 또는 ALL C5L L5S.원래의 구분 기호를 그대로 유지한 채 원문을 출력하되, 가능한 경우마다 축약된 단어를 완전한 단어로 확장합니다(위 설명 참고). 확장된 단어의 대소문자는 그 단어가 대체하는 축약형의 대소문자와 일치해야 합니다.
유효하지 않거나 모호한 축약형은 축약된 상태 그대로 둡니다. 출력의 각 줄은 80자보다 길어질 수 있습니다.