Để hiểu được lời nói trong các bộ phim nước ngoài, các dịch vụ dịch chữ viết thành cửa sổ dưới cùng của màn hình, gọi là phụ đề. Trong thế giới kỹ thuật số, phụ đề thường được viết trong các tệp .SRT có cấu trúc như sau:
[Số thứ tự của khối phụ đề] [Thời gian bắt đầu phụ đề --> Thời gian kết thúc phụ đề] [Văn bản phụ đề trên một hoặc nhiều dòng]
Các khối này được phân tách bằng một dòng trống. Thời gian được biểu diễn dưới dạng ~HH:MM:SS,TTT~ (lưu ý dấu hai chấm và dấu phẩy), có nghĩa là ~giờ:phút:giây,miligiây~. Một giây chứa ~1000~ ~miligiây~. Dưới đây là một ví dụ về một tệp .SRT:
1
00:00:01,600 --> 00:00:04,200
Chào buổi sáng!
2
00:00:05,900 --> 00:00:07,999
Chào buổi sáng nha bạn!
Đây là của bạn!
3
00:00:10,000 --> 00:00:14,000
Xin vui lòng cho tôi mười xúc xích tỏi?
Đôi khi phụ đề không được đồng bộ hoàn toàn với bộ phim tương ứng và xuất hiện ví dụ như là hai giây quá sớm hoặc quá muộn. Vì vậy, chúng tôi muốn tất cả các thời gian trong tệp .SRT phù hợp, hoặc trong một phần của tệp đó, được dịch chuyển về phía trước hoặc phía sau một số lượng (miligiây) đã xác định. Viết chương trình thực hiện điều đó.
Input
Dữ liệu nhập chứa tối đa 30 dòng đại diện cho một phần của một tệp .SRT nào đó.
- Dòng đầu tiên bắt đầu bằng một khối có số thứ tự ~X~, tiếp theo là các khối với số thứ tự tuần tự ~X + 1, X + 2, ..., X + K~, theo cấu trúc đã mô tả trong đề bài.
- Các khối được phân tách bằng một dòng trống duy nhất. Văn bản phụ đề bên trong khối chứa một hoặc nhiều dòng không trống chứa các chữ cái trong bảng chữ cái tiếng Anh và các dấu chấm câu',.?!.
- Dòng sau cùng sau khối cuối cùng chứa chỉ dấu ~'#'~ biểu thị sự kết thúc của phần đã quan sát của tệp và ký tự đó sẽ không xuất hiện ở bất kỳ đâu khác.
- Dòng tiếp theo (cuối cùng) chứa thời gian trong miligiây ~(-10 000 \leq T \leq 10 000)~, cần phải được thêm vào tất cả các khối phụ đề.
Output
In ra một phần của tệp .SRT được đưa ra trong dữ liệu nhập, trong đó các dấu thời gian (thời gian bắt đầu và kết thúc của mỗi khối) được tăng thêm ~T~ miligiây. Các bộ kiểm tra sẽ đảm bảo rằng các dấu thời gian cần thiết không âm.
Sample Input 1
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
Sample Output 1
8
00:00:01,900 --> 00:00:04,500
We thought you was...
9
00:00:06,200 --> 00:00:08,299
a toad.
#
Sample Input 2
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
Sample Output 2
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?
#
Bình luận