Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
заменить (v, w)
нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Дана программа для Редактора:
НАЧАЛО
ПОКА нашлось(0<,) ИЛИ нашлось(1<,)
ЕСЛИ нашлось(11<,) ИЛИ нашлось(10<,)
ТО ЕСЛИ нашлось(11<,)
ТО заменить(11<,, <,3)
ИНАЧЕ заменить(10<,, <,2)
КОНЕЦ ЕСЛИ
ИНАЧЕ
ЕСЛИ нашлось(00<,)
ТО заменить(00<,, <,0)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(01<,)
ТО заменить(01<,, <,1)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход приведённой ниже программе поступает строка, содержащая 20 цифр 0 или 1, расположенных в произвольном порядке, и идущем после них символе “<,”.
Определите максимальную сумму числовых значений цифр строки, которая может получиться в результате выполнения программы, если известно, что в первоначальной строке не может стоять подряд больше трех одинаковых символа.
