На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 16.03.24 16:01. Заголовок: ege12-372


Мне немного стыдно, но по какой-то причине, я не могу решить эту задачу... Не понимаю в чём у меня ошибка.
Задача:
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
заменить(v, w)
нашлось(v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Дана программа для Редактора:
ПОКА НЕ нашлось (00)
заменить (033, 1302)
заменить (03, 120)
заменить (023, 203)
заменить (02, 20)
КОНЕЦ ПОКА
На вход программе поступает строка, содержащая два нуля – на первом и на последнем местах. После выполнения данной программы получилась строка, содержащая 520 единицы, 786 двоек и 115 троек. Какое наибольшее количество двоек могло быть в исходной строке?
 
def interpreter(s):
while '00' not in s:
s = s.replace('033', '1302', 1)
s = s.replace('03', '120', 1)
s = s.replace('023', '203', 1)
s = s.replace('02', '20', 1)
return s
given_3 = 520
for j in range(i-115, -1, -1):
s = '0' + '33' * 115 + '23' * (given_3-115) + '2'*j + '0'
ans = interpreter(s)
if ans.count('1') == 520 and ans.count('2') == 786 and ans.count('3') == 115:
print(s.count('2'))


Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 72
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет