Задача на ночь от Е.Джобса. Тема Редактор из ЕГЭ
497 просмотров
(Е. Джобс) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (900) или нашлось(8000) или нашлось(70)
заменить(70, 8)
заменить(900, 70)
заменить(8000, 900)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что на вход программы поступила строка из 71 символа. Определите минимальное четырехзначное число, которое может являться результатом работы исполнителя
Помогите решить задание. Не понимаю, как написать код и как решить.
Мой код:
def f(s): while '900' in s or '8000' in s or '70' in s:
s = s.replace('70', '8', 1)
s = s.replace('900', '70', 1)
s = s.replace('8000', '900', 1)
return s
for i in product('0879', repeat = 71):
s = ''.join(i)
if len(f(s)) == 4:
print(s, f(s))