АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

2155. Префиксный код

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Дана строка, состоящая из заглавных английских букв. Требуется построить код, обладающий следующими свойствами:

  • нужно присвоить коды только тем буквам, которые присутствуют во входной строке,
  • каждый символ кодируется последовательностью нулей и единиц,
  • никакой код не должен быть началом (префиксом) другого кода,
  • длина закодированного сообщения должна получаться не больше, чем при использовании кода Шеннона-Фано

Рекомендуется написать два решения к этой задаче — в одном построить код Шеннона-Фано, в другом — код Хаффмана.

Входные данные

Вводится одна строка из заглавных английских букв. Длина строки — от 1 до $$$10^6$$$.

Выходные данные

Выведите в произвольном порядке символы и их коды.

Пример

Входные данные
ABACABADABA
Выходные данные
A 0
B 10
C 110
D 111

Статистика Послать на проверку Обсуждение задачи Автор/источник:
Учебные курсы / Архитектура компьютера /
679. Декодирование Хэмминга 2155. 131. Сумма цифр
 
время генерации 0.093 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.