Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов включая специальный пустой символ a0.
Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний В начальный момент времени головка находится в начальном состоянии q0.
На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.
Программа работы исполнителя МТ задаётся в табличном виде.
| a0 | a1 | ... | ||
| q0 | команда | команда | ... | команда |
| q1 | команда | команда | ... | команда |
| ... | ... | ... | ... | ... |
| команда | команда | ... | команда |
В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце — возможные состояния головки. На пересечении i-й строки и j-го столбца находится команда, которую выполняет МТ, когда головка обозревает j-й символ, находясь в i-м состоянии. Если
Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N» — отсутствие сдвига, «S» — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент — новое состояние головки после выполнения команды.
Например,
Выполните задание.
На ленте исполнителя МТ в соседних ячейках записана последовательность из N > 300 символов, которая может включать только тройки, шестёрки и девятки, расположенные в произвольном порядке. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности. Программа для исполнителя:
| λ | 3 | 6 | 9 | 8 | 7 | |
| q0 | λ, R, q1 | |||||
| q1 | λ, S, q1 | 7, R, q1 | 8, R, q1 | 3, R, q1 |
Известно, что после выполнения программы получилась строка с пятизначной суммой цифр S, содержащая не менее 100 чётных цифр.
Определите максимально возможное значение выражения S + N.
Рассмотрим программу для исполнителя. Исполнитель проходит по строке и заменяет символ «3» на символ «7», символ «6» на «8», символ «9» на «3». После выполнения программы в строке могут остаться только символы «3», «7» и «8».
Максимальная пятизначная сумма цифр 99999. Чтобы выражение S + N было максимальным, возьмем максимальные значения S и N. Чтобы N была максимально, то надо брать минимальные значения в ячейках, чтобы они давали минимальный прирост S, но при этом в строке должно быть не менее 100 четных цифр.
Единственная четная цифра - это 8. Возьмем их минимальное количество - 100. Тогда на остальные числа строки остается 99999-8 · 100 = 99199 сумма цифр.
Далее будем брать минимальные возможные числа (чтобы их количество было максимальным). Минимальное число в строке это «3». Если разделить 99199 на 3, то максимальное количество 33066, а сумма таких троек 99198.
До суммы 99999 не хватает 1. Если заменить одну «3» на «7», то получим 100002, перебор. Заменим две цифры «3» на одну «3», получим 99999.
Тогда максимальное N это 100 цифр «8», 33064 цифр «3» и одна цифра «7», всего 33165 цифр.
А максимальная S это 8 · 100 + 33064 · 3 + 1 · 7=99999.
Тогда максимально возможное значение выражения S + N = 99999 + 33165 = 133164.
Ответ: 133164.

