Шифрування корупційних схем
Обмеження: 2 сек., 256 МіБ
Задачі «Шифрування корупційних схем» і «Дешифрування корупційних схем» є пов’язаними між собою, але їх можна розв’язувати окремо одну від одної. Наступні чотири абзаци є однаковими в обох умовах.
В офісі ЗЕника працює один татарин. Щомісяця він придумує нову геніальну корупційну схему й охоче ділиться нею із Зеником у повідомленні. Цього місяця знову не обійшлося без нової хитрої схеми. Однак Татарин — не дурний. Він знає, що повідомлення зі схемою для Зеника можуть перехопити правоохоронці. Тому він шифрує його алгоритмом кодування довжин серій.
Кодування довжин серій (англ. Run-length encoding, RLE) — простий алгоритм стиснення даних, який оперує серіями даних, тобто послідовностями, у яких один і той ж символ зустрічається кілька разів поспіль. При кодуванні рядок однакових символів, що становлять серію, замінюють рядком, який містить сам повторюваний символ і кількість його повторів (З Вікіпедії).
Розгляньмо приклад кодування рядка
AAAABBBBBBBACBBBBDDDDDDDDDDD
. Якщо застосувати алгоритм RLE
до нього, то отримаємо 4A7B1A1C4B11D
. Останній запис
інтерпретується як чотири A
, сім B
, одна
A
, одна C
, чотири B
, одинадцять
D
.
Зверніть увагу, що 4A4B3B1A1C4B7D4D
не є правильно
закодованим рядком — треба записувати цілі серії.
4A7BAC4B11D
також не є правильно закодованим рядком —
навіть якщо довжина серії символа дорівнює одиниці, то все одно потрібно
записувати 1
.
Зашифруйте корупційну схему татарина алгоритмом RLE.
Вхідні дані
Вхідні дані містять єдиний рядок \(s\) — корупційну схему татарина.
Вихідні дані
Виведіть закодовану за алгоритмом RLE корупційну схему.
Довжина закодованої схеми не перевищуватиме \(10^5\) символів.
Обмеження
\(1 \le |s| \le 10^5\),
\(s\) складається з великих латинських літер.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
AAAABBBBBBBACBBBBDDDDDDDDDDD | 4A7B1A1C4B11D |
Надіслати розв'язок
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|