#CT00044. Nén bản tin (Message Compression)
Nén bản tin (Message Compression)
Nén bản tin (Message Compression)
Phiên bản: Phước Hưng OJ Extended
Đề bài
Một bản tin được biểu diễn bởi xâu chỉ gồm các chữ cái in hoa từ A đến Z.
Ta nén từng nhóm ký tự giống nhau liên tiếp theo quy tắc:
- Nếu một ký tự xuất hiện liên tiếp đúng một lần thì giữ nguyên ký tự đó.
- Nếu ký tự xuất hiện liên tiếp lần với , thay cả nhóm bởi ký tự rồi ghi ngay sau đó số ở hệ thập phân.
Ví dụ, AAABBCCCCDAA được nén thành A3B2C4DA2.
Hãy tạo xâu nén và xác định độ dài .
Input
Một dòng duy nhất chứa xâu .
Output
- Dòng thứ nhất ghi xâu nén .
- Dòng thứ hai ghi số nguyên là độ dài của xâu nén.
Subtask
- Subtask 1 (40%): .
- Subtask 2 (30%): .
- Subtask 3 (30%): .
Ví dụ
Ví dụ 1
Input
AAABBCCCCDAA
Output
A3B2C4DA2
9
Giải thích
Các nhóm liên tiếp là AAA, BB, CCCC, D, AA, có độ dài lần lượt .
Do đó chúng được viết thành A3, B2, C4, D, A2.
Ví dụ 2
Input
ABCDE
Output
ABCDE
5
Giải thích
Mỗi ký tự tạo thành một nhóm có độ dài , nên xâu được giữ nguyên.
Ví dụ 3
Input
AAAAAAAAAAAA
Output
A12
3
Giải thích
Có ký tự A liên tiếp, nên cả nhóm được thay bằng A12, có độ dài .
Liên quan
Trong các cuộc thi sau: