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

Задание 12 №233

Гатауллина: Строка состоит из 23 единиц и 5 двоек, необходимо найти максимальную сумму при: 1) "112" -> "5" 2) "11" -> 3 Первые 8 единиц и 5 двоек по первой опции превращаем в 5 пятёрок (сумма 25), оставшиеся 23-8 = 15 единиц по второй опции превращаем в 7 троек (сумма 25+21 = 46) и 1 единицу (сумма 46+1 = 47) Мой ответ: 47 Ответ на сайте: 44 Что-то не так делаю?

Ответов - 3

Поляков: [pre2] s = '1121121121121121111111111111' print(s.count('1'), s.count('2')) while '11' in s: if '112' in s: s = s.replace( '112', '5', 1 ) else: s = s.replace( '11', '3' ) print( s ) print( s ) print( sum( map(int,s) ) )[/pre2]

oval: Гатауллина пишет: Первые 8 единиц и 5 двоек по первой опции превращаем в 5 пятёрок (сумма 25) А почему 8 единиц?

OlgaChe1: Видно, что наибольший вклад в сумму дадут сочетания 112. Двоек всего 5, перед ними надо поставить по 2 единицы. Пять групп 112 дадут 5 пятерок =25. Оставшиеся 13 единиц (6 пар +1) превратятся в 6 троек =18. +одна единица. 25+18+1=44




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