Автор | Сообщение |
|
Отправлено: 31.01.22 16:45. Заголовок: Задание 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
[только новые]
|
|
|
| Администратор
|
Сообщение: 3260
|
|
Отправлено: 01.02.22 13:53. Заголовок: s = '1121121121..
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) ) )
|
|
|
|
| постоянный участник
|
Сообщение: 406
|
|
Отправлено: 02.02.22 11:47. Заголовок: Гатауллина пишет: П..
Гатауллина пишет: цитата: | Первые 8 единиц и 5 двоек по первой опции превращаем в 5 пятёрок (сумма 25) |
| А почему 8 единиц?
|
|
|
|
Отправлено: 10.02.22 19:20. Заголовок: Видно, что наибольши..
Видно, что наибольший вклад в сумму дадут сочетания 112. Двоек всего 5, перед ними надо поставить по 2 единицы. Пять групп 112 дадут 5 пятерок =25. Оставшиеся 13 единиц (6 пар +1) превратятся в 6 троек =18. +одна единица. 25+18+1=44
|
|
|
|