자막
시간 제한1초메모리 제한512 MB
SRT 파일의 일부를 읽어 모든 시간 값에 주어진 밀리초를 더한 뒤 같은 형식으로 다시 출력한다.
문제
외국 영화의 대사를 이해하기 위해 화면 아래에 번역된 텍스트가 표시되는데, 이를 흔히 자막이라고 부른다. 디지털 환경에서 자막은 주로 .SRT 파일에 작성되며, 이 파일은 다음과 같은 형식의 블록들로 구성된다:
[블록의 일련번호]
[자막 시작 시간 --> 자막 종료 시간]
[한 줄 이상으로 된 자막 텍스트]
이 블록들은 빈 줄 하나로 구분된다. 시간은 HH:MM:SS,TTT 형식(콜론과 쉼표에 주의)으로, 시:분:초,밀리초를 의미한다. 1초는 1000밀리초이다. 다음은 .SRT 파일의 예이다:
1
00:00:01,600 --> 00:00:04,200
Good day!
2
00:00:05,900 --> 00:00:07,999
Good day to you too!
Here you go!
3
00:00:10,000 --> 00:00:14,000
May I please have ten garlic sausages?
때로는 자막이 영화와 완전히 동기화되지 않아 2초가량 너무 일찍 또는 늦게 나타나기도 한다. 그래서 해당 .SRT 파일, 또는 그 파일의 일부분에 있는 모든 시간을 지정된 (밀리)초만큼 앞이나 뒤로 이동하려 한다. 이 작업을 수행하는 프로그램을 작성하시오.
입력
입력 데이터는 어떤 .SRT 파일의 일부분을 나타내는 최대 30개의 줄로 이루어진다.
첫 줄은 일련번호 X인 블록으로 시작하고, 그 뒤에 일련번호 X + 1, X + 2, ..., X + K인 블록들이 문제 설명에서 서술한 형식으로 이어진다.
블록들은 빈 줄 하나로 구분된다. 블록 안의 자막 텍스트는 영문 알파벳 글자와 구두점 ',.?!를 포함하는 하나 이상의 비어 있지 않은 줄로 이루어진다. 마지막 블록 다음 줄에는 관찰 대상 파일 부분의 끝을 나타내는 '#' 기호만 있으며, 이 문자는 다른 곳에 나타나지 않는다.
그다음(마지막) 줄에는 모든 자막 블록에 더해야 하는 시간이 밀리초 단위(-10 000 ≤ T ≤ 10 000)로 주어진다.
출력
입력 데이터로 주어진 .SRT 파일의 일부분을 출력하되, 시간 표시(각 블록의 시작 시간과 종료 시간)는 T밀리초만큼 증가해야 한다. 테스트 샘플에서는 요구되는 시간 표시가 음수가 되지 않도록 보장한다.