Форум » Выполнение и анализ алгоритмов для исполнителей » 12_3463 » Ответить

12_3463

hgbhhbjj: (№ 3463) (Е. Джобс) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА НЕ нашлось (><) заменить(>1, 3>) заменить(>2, 2>) заменить(>3, 1>) заменить(3<, <1) заменить(2<, <3) заменить(1<, <2) КОНЕЦ ПОКА КОНЕЦ На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», затем со-держащая 20 цифр 1, 15 цифр 2 и 40 цифр 3, расположенных в произвольном порядке и оканчивающаяся символом «<». Определите максимальную возможную сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200. На сайте ответ 145. А получается 130. s = '>'+'1'*20+'2'*15+'3'*40+'<' while '><' not in s: s = s.replace('>1','3>',1) s = s.replace('>2','2>',1) s = s.replace('>3','1>',1) s = s.replace('3<','<1',1) s = s.replace('2<','<3',1) s = s.replace('1<','<2',1) s=s.replace('><','') sm = 0 for ch in s: sm +=int(ch) print(sm)

Ответов - 4

EugeneJobs: Ознакомьтесь с разбором тут: Видео в вк

spogodin-nel: и ручками и программой ответ 130 получается

spogodin-nel: увидел, что в произвольном порядке :-)


hgbhhbjj: На сайте у Полякова К.Ю. ответ стоит 145. Вопрос был в этом.



полная версия страницы