Текст процедуры на языке Рапира в кодировке koi8-r был несколько раз перекодирован, причём перекодировщику сообщали совершенно произвольную исходную и целевую однобайтную кодировку (например, из cp866 в latin_1). Результат перекодировали из последней целевой кодировки в UTF-8 . Восстановить предполагаемый текст процедуры.
Известно, что в процессе перекодирования не возникало ошибок
- Все буквы — заглавные русские; никаких других не-ASCII символов в тексте не было
Синтаксис внутри процедуры не соблюдается, но
процедура начинается на "ПРОЦ" и заканчивается на "КНЦ;"
внутри процедуры есть оператор "ВЫВОД: "
текущая формулировка задачи и набор тестов допускают неоднозначное декодирование. в 2022 году проблема лечится либо оптимальным декодированием (двойным вместо тройного), либо дополнительной проверкой на слово «ОСОВЕННОСТИ» — его не должно быть в ответе. TODO В будущем формулировку пересмотреть
Список допустимых кодировок: cp037 cp1006 cp1250 cp1251 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp720 cp737 cp775 cp850 cp852 cp855 cp864 cp866 cp869 cp874 cp875 hp_roman8 iso8859_10 iso8859_16 iso8859_4 iso8859_5 koi8_r latin_1 mac_croatian mac_greek mac_iceland mac_latin2
- Максимальное количество перекодирований — 3
- В процедуре не более 25 тысяч символов
ЪЫЩж ИЩЫЖРНЩ(); ЭвЭЩН: "ЦЩкОЮ ЫЖРЭУЮУн ЩЗЫЖРЩЦ ТЬХЩЭУн ХУмЧЩЬЮУ." НЩ ЩЮ ЭЬО 0-8-6+4/ЭЬОЦ; ЪЫЩж ОЬХУ 6()6=7+6()3:: ЭвЭЩН: "ЪЫУмОЦ 7." ЭвЭЩН: "ЭОЬд НЫТИ ЪЫЩОФЮЖ ЭЬОЦ ОЦТ ЪЫУСЩНУЮЬн?" ФЧж;
Здесь перекодирование исходного текста происходило трижды:
- 'mac_greek' → 'cp869'
- 'cp1251' → 'iso8859_5'
- 'cp1251' → 'cp855' → 'utf-8'
Последняя восьмибитная кодировка ('cp855') не имеет значения (текст из неё был однозначно преобразован в 'utf-8')
ПРОЦ ГОРАЗДО(); ВЫВОД: "МОЖЕТ РАЗВИТИЯ ОБРАЗОМ УСЛОВИЯ ЛИЧНОСТИ." ДО ОТ ВСЕ 0-8-6+4/ВСЕМ; ПРОЦ ЕСЛИ 6()6=7+6()3:: ВЫВОД: "ПРИЧЕМ 7." ВЫВОД: "ВЕСЬ ДРУГ ПРОЕКТА ВСЕМ ЕМУ ПРИХОДИТСЯ?" КНЦ;
Подсказка: чтобы не тратить время на перекодирование всей процедуры (особенно при тройном перекодировании), полезно сначала проверить на коротком примере, что оно вообще возможно