P7374 [COCI 2018/2019 #5] Titlovi
题目描述
现有一个 `.SRT` 类型的文件,其由若干段字幕组成,用来再观看时载入。每段字幕又由三部分组成:
- 第一行:该字幕的编号
- 第二行字幕开始播放时间 --> 字幕结束播放时间
- 接下来的若干行:字幕内容
下面是一段字幕的例子:
```plain
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` 格式给出,分别表示小时、分钟、秒和毫秒。规定 $1$ 秒 $=1000$ 毫秒。
有时观看时会出现时间上的差异,因此在载入字幕时需要将所有字幕调快 / 调慢一个特定的时间,并输出调整后的 `.SRT` 文件。
输入格式
输入不超过 $100$ 行,表示 `.SRT` 类型文件的内容。
每一段字幕的第一行,输入字幕编号。对于字幕编号,若第一段的编号为 $X$,则第 $i$ 段的必定为 $X+i-1$。
每一段字幕之间用一个空行隔开。字幕内容包含英文字母、空格和字符 `,.?!.` 等。
最后一段字幕的最后一行之后的一行,将包含一个字符 `#`,表示字幕部分结束。
接下来的一行 / 输入的最后一行,输入整数 $T$,表示需要调整的时间。如果 $T \ge 0$,则表示要将字幕时间向后调整 $T$ 毫秒。否则,表示要将字幕时间向前调整 $-T$ 毫秒。
输出格式
输出调整时间后的 `.SRT` 文件。
说明/提示
#### 数据规模与规定
对于 $100\%$ 的数据,$-10^4 \le T \le 10^4$。
#### 说明
**本题分值按 COCI 原题设置,满分 $50$。**
注:经测试,官方输入文件中可能含有 `\r` 等 Windows 下产生的字符。请大家在处理的过程中留意!
**题目译自 [COCI2018-2019](https://hsin.hr/coci/archive/2018_2019/) [CONTEST #5](https://hsin.hr/coci/archive/2018_2019/contest5_tasks.pdf) _T1 Titlovi_。**