게임 안에서 책을 읽을 수 있다구요?

NYPC 2023 · Round 1

넥슨의 명작 게임 마비노기에는 게임 안에서 책을 읽을 수 있는 기능이 있다.

책은 시나리오 작성자가 작성한다. 작성한 파일에는 책의 내용과 함께, 플레이어에게 이 내용을 어떻게 보여줄 것인지 지정하는 태그(tag)가 포함된다.

실제로는 여러 가지가 있지만, 다음 두 가지 태그만 존재한다고 하자.

아무런 태그 안에 없는 경우 좌측정렬을 해야 한다. 그리고 항상 아래의 줄넘김 규칙을 지켜야 한다.

또 위 규칙에서 필요한 것 외에는 공백을 넣어서는 안 되며, 출력하는 줄 수를 최소화해야 한다. 단, 처음 서로 다른 줄에 있는 단어는 출력에서 같은 줄에 위치하면 안된다. 줄 수가 최소인 출력이 여러 개인 경우 단어들을 가능한 앞쪽 줄에 출력해야 한다.

책의 내용과 출력할 문서의 폭이 주어졌을 때, 양식에 맞게 문서를 보여주는 프로그램을 작성하시오.

입력 형식

첫 줄에 책 내용의 줄 수 NN과 출력할 문서의 폭 MM이 공백으로 구분되어 주어진다. (1N50;1 \le N \le 50; 10M5010 \le M \le 50)

이어지는 NN 개의 줄에 태그를 포함한 책의 내용이 입력으로 주어진다. 책의 내용에는 다음과 같은 제약이 있다.

출력 형식

문제에서 요구한 양식에 맞게 출력한다. 단, 공백은 모두 -로 대체해서 출력한다.

예제 1

입력

7 10 <CENTER> Hello world </CENTER> Hello world <RIGHT> Hello world </RIGHT>

출력

--Hello--- --world--- Hello----- world----- -----Hello -----world

예제 2

입력

20 11 Lorem ipsum dolor sit amet consectetur adipiscing elit Duis tristique Nunc congue nisi vitae suscipit tellus mauris <CENTER> Nunc congue nisi vitae suscipit tellus mauris Integer quis Id venenati a condimentum vitae </CENTER> <RIGHT> Nisi est sit amet facilisis magna Volutpat ac tincidunt vitae semper quis </RIGHT>

출력

Lorem-ipsum dolor-sit-- amet------- consectetur adipiscing- elit------- Duis------- tristique-- Nunc-congue nisi------- vitae------ suscipit--- tellus----- mauris----- Nunc-congue ---nisi---- ---vitae--- -suscipit-- --tellus--- --mauris--- --Integer-- ---quis---- Id-venenati -----a----- condimentum ---vitae--- ---Nisi-est --------sit -------amet --facilisis ------magna Volutpat-ac --tincidunt ------vitae semper-quis

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 17

태그가 없음.

종류 2: 38

<CENTER>, </CENTER> 태그만 있음.

종류 3: 31

<RIGHT>, </RIGHT> 태그만 있음.

종류 4: 14

추가적인 제한 조건이 없음.

해설