Mô tả
Kỹ sư viên của trạm kiểm soát mạch điện Bason đang thu thập dữ liệu dải tần tín hiệu dưới dạng một chuỗi các ký tự đại diện cho các mức sóng (ví dụ U, P, d, b). Dữ liệu thô thường chứa rất nhiều tín hiệu trùng lặp liên tiếp, gây tốn băng thông khi truyền về máy chủ. Để tối ưu hoá, bạn cần viết một chương trình mã hoá chuỗi tín hiệu này bằng phương pháp nén theo quy tắc chạy (run-length encoding).
Cụ thể, hãy duyệt qua chuỗi tín hiệu từ trái sang phải, đếm số lượng ký tự giống nhau nằm liền nhau liên tiếp, rồi ghép số lượng và ký tự đó lại với nhau thành chuỗi kết quả.
Ví dụ, chuỗi UUUP có 3 ký tự U liên tiếp, tiếp theo là 1 ký tự P. Chuỗi kết quả sẽ là 3U1P.
Đầu vào
- Một chuỗi
sduy nhất (độ dài từ 1 đến 1000 ký tự).
Đầu ra
- Xuất ra một chuỗi là kết quả của việc mã hoá theo quy tắc chạy.
Ràng buộc
- Độ dài chuỗi
scó giá trị từ 1 đến 1000. - Các ký tự trong
snằm trong bảng chữ cái tiếng Anh (in hoa và in thường), chữ hoa và chữ thường được xem là khác nhau (ví dụAvàalà hai tín hiệu khác nhau).
Ví dụ
Ví dụ 1:
- Đầu vào:
UUUP - Đầu ra:
3U1P - Giải thích: Ba ký tự
Uđầu tiên tạo thành nhóm3U, một ký tựPcuối cùng tạo thành nhóm1P. Ghép lại ta được3U1P.
Ví dụ 2:
- Đầu vào:
AAbb - Đầu ra:
2A2b - Giải thích: Hai ký tự
Aliên tiếp cho ra2A. Tiếp theo là hai ký tựb(in thường) liên tiếp cho ra2b. Lưu ý chữ hoa và chữ thường là hoàn toàn khác biệt.