Телеграф Премиум (НТО 25/26 :: ТБС)
Условие
Радиофизик со стажем Степан Александрович очень доволен своей работой в малом конструкторском бюро, занимающемся инженерными образовательными продуктами. Одно лишь постоянно вызывает негодование – когда молодые сотрудники придумывают что-то новое, и приходится обучаться этому, чтобы за ними поспевать. Только Степан Александрович успел привыкнуть к чатам и мессенжерам, так молодёжь перешла на голосовые сообщения! «Ну я покажу им базу», – хитро улыбнулся пожилой инженер, доставая старый телеграфный ключ.
…и в рабочий чат среди голосовых сообщений начали приходить странные пищания. В попытках понять суть этих посланий, программист-стажёр Саша Беляев попробовал сделать переводчик для азбуки Морзе. Ему удалось написать преобразователь звука в последовательность нулей и единиц, но затем Саша столкнулся с проблемой.
Как он ни пытался подобрать длительность «точки», сигнал никак не превращался в понятные символы. Присмотревшись, Саша выяснил, что Степан Александрович – очень опытный и выносливый телеграфист, который отстукивает «морзянку» с точностью робота. Все длительности – точка, тире, все виды пауз (они бывают разные) – на протяжении очередного сообщения не меняются и почти не колеблются. Но никогда они не соответствуют вычитанным в Интернете соотношениям, хотя всё равно различимы между собой и идут в правильном порядке (тире длиннее точки).
Ваша задача — помочь Саше дописать дешифратор, анализирующий последовательность нулей и единиц, чтобы восстановить из неё исходный текст, состоящий из латинских заглавных букв, цифр, пробелов и знаков препинания (`.,:;?!`)
Формат входных данных
Строка из символов '0' и '1' — полученное закодированное сообщение.
Формат выходных данных
Строка с декодированным сообщением.
Для решения этой задачи у вашей команды есть 20 попыток.
Видео-разбор