Я не смог тут указать какой-либо из тегов относящейся к этой специальности. Решил математику.
Оператор настроил терминал, чтобы он циклически передавал команды для выполнения определенной программы, но из-за атаки словарь закодированных команд был потерян. Необходимо срочно вернуть дрон на базу.
Нам известно, какие команды дрон выполняет и какую зашифрованную последовательность передает терминал. Нужно установить команду кратчайшей длины для возвращения на базу и передать ее дрону.
Всего возможно 6 команд: Вперед, Назад, Вправо, Влево, Сигнал, Вернуться.
Каждая из команд зашифрована двоичным кодом, не длиннее 5 бит.
Весь набор команд удовлетворяет условию Фано, когда никакой код команды не является началом другого кода команды.
И, кстати, почему на этом сайте указана одна последовательность
1010111010111001000011100001000111
а на другом - другая
10110111010111001000011100001000111
?
забавно, но я для последовательности с этого сайта нашел решение) с пропещеной цифрой, т.к. в у словии сказано, что сообщение зашифровано, пришлось преположить, что цифра 1, которая конец команды - может быть началом следующей команды
Жульническое решение.
Команда Сигнал очевидно имеет код 11 или 111. В обоих случаях код 001 точно свободен в последовательности.
001 - Вернуться (так точно может быть, этому ничего не мешает)
что-то мне кажется, что там ошибка, либо я туплю.
Вперёд = 10 однозначно, Сигнал = 111 очевидно читается.
Сигнал не может быть 11, потому что иначе Влево должно было бы быть 1 либо начинаться с 10 (противоречит Фано в обоих случаях).
Отсюда Влево = 0.
Таким образом мы до середины доходим, но дальше выходит, что Назад = 10000, что противоречит условию Фано.
Между последними Сигналами 00001000 вообще никак не укладывается в связку Назад+Вправо.
===
upd. или тут имеется в виду, что битовая последовательность является циклически сдвинутой на зараннее неизвестное количество позиций? ну то есть, что это просто выделенный повторяющийся паттерн радиообмена, а не точная привязка к последовательности команд?