luogu#P7374. [COCI2018-2019#5] Titlovi

[COCI2018-2019#5] Titlovi

题目描述

现有一个 .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?

时间均以 HH:MM:SS,TTT 格式给出,分别表示小时、分钟、秒和毫秒。规定 11=1000=1000 毫秒。

有时观看时会出现时间上的差异,因此在载入字幕时需要将所有字幕调快 / 调慢一个特定的时间,并输出调整后的 .SRT 文件。

输入格式

输入不超过 100100 行,表示 .SRT 类型文件的内容。

每一段字幕的第一行,输入字幕编号。对于字幕编号,若第一段的编号为 XX,则第 ii 段的必定为 X+i1X+i-1

每一段字幕之间用一个空行隔开。字幕内容包含英文字母、空格和字符 ,.?!. 等。

最后一段字幕的最后一行之后的一行,将包含一个字符 #,表示字幕部分结束。

接下来的一行 / 输入的最后一行,输入整数 TT,表示需要调整的时间。如果 T0T \ge 0,则表示要将字幕时间向后调整 TT 毫秒。否则,表示要将字幕时间向前调整 T-T 毫秒。

输出格式

输出调整时间后的 .SRT 文件。

8
00:00:01,600 --> 00:00:04,200
We thought you was...

9
00:00:05,900 --> 00:00:07,999
a toad.
#
300
8
00:00:01,900 --> 00:00:04,500
We thought you was...

9
00:00:06,200 --> 00:00:08,299
a toad.
#
624
00:43:30,566 --> 00:43:32,108
Howdy do, ladies?

625
00:43:32,276 --> 00:43:33,943
Name of Pete.

626
00:43:47,124 --> 00:43:48,082
Ain't you gonna
introduce us, Pete?
#
-500
624
00:43:30,066 --> 00:43:31,608
Howdy do, ladies?

625
00:43:31,776 --> 00:43:33,443
Name of Pete.

626
00:43:46,624 --> 00:43:47,582
Ain't you gonna
introduce us, Pete?
#

提示

数据规模与规定

对于 100%100\% 的数据,104T104-10^4 \le T \le 10^4

说明

本题分值按 COCI 原题设置,满分 5050

注:经测试,官方输入文件中可能含有 \r 等 Windows 下产生的字符。请大家在处理的过程中留意!

题目译自 COCI2018-2019 CONTEST #5 T1 Titlovi