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

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

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

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



Сообщение: 35
ссылка на сообщение  Отправлено: 16.03.21 21:11. Заголовок: Задача 255, задание 12


"(Джобс) ... Дана программа для Редактора:
ПОКА НЕ нашлось (><)
заменить(>1, 3>)
заменить(>2, 2>)
заменить(>3, 1>)
заменить(3<, <1)
заменить(2<, <3)
заменить(1<, <2)
КОНЕЦ ПОКА
На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», затем содержащая 20 цифр 1, 15 цифр 2 и 40 цифр 3, расположенных в произвольном порядке и оканчивающаяся символом «<». Определите максимальную возможную сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200."

Во-первых, программа приведена не ниже, а выше.
Во-вторых, результат выполнения программы зависит только от порядка следования цифр во входной строке, иначе программа всегда выдавала бы одинаковый результат.
Не лучше ли переформулировать условие примерно так:

На вход программе поступает строка, начинающаяся с символа «>», содержащая 20 цифр 1, 15 цифр 2, 40 цифр 3 и оканчивающаяся символом «<». В каком порядке должны располагаться цифры во входной строке, чтобы сумма цифр, получившаяся в результате выполнения программы, была максимально возможной? В ответе запишите эту максимально возможную сумму.

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


Администратор




Сообщение: 2598
ссылка на сообщение  Отправлено: 18.03.21 19:12. Заголовок: check8386 пишет: На ..


check8386 пишет:
 цитата:
На вход программе поступает строка, начинающаяся с символа «>», содержащая 20 цифр 1, 15 цифр 2, 40 цифр 3 и оканчивающаяся символом «<». В каком порядке должны располагаться цифры во входной строке, чтобы сумма цифр, получившаяся в результате выполнения программы, была максимально возможной? В ответе запишите эту максимально возможную сумму.

Да, спасибо, так лучше. Поправил.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 03.05.21 10:54. Заголовок: задача 255, ЕГЭ-12


Коллеги, как вы получаете ответ 145? можно узнать ваш секрет?

Спасибо: 0 
Цитата Ответить





Сообщение: 42
ссылка на сообщение  Отправлено: 05.05.21 10:33. Заголовок: Для начала надо иссл..


Для начала надо исследовать различные конфигурации строк. Например, понять, где выгоднее ставить 1. 2 и 3 - вначале или в конце. Дальше ответ будет несложно получить.

Хочешь 100? Готовься на 110! Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 05.05.21 18:38. Заголовок: задача 255, ЕГЭ-12


Коллеги, вот мой код для задачи, только урезан в пять раз. Здесь идет перебор всевозможных строк. Во всех строках ответ 26.
Если применить этот код для исходной задачи, то перебор будет долгим, но ответ такой же 130, но не 145.
Поэтому, еще раз к вам обращаюсь, как вы получили ответ 145, не держите в секрете, поделитесь своим решением, пожалуйста.
 from itertools import product 
from tqdm import tqdm

def fin(ss):
s = '>' + ss + '<'
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<', '<2', 1)
s = s.replace('1<', '<3', 1)
s = s.replace('><', '', 1)
rt = sum(list(map(int, s)))
return rt, s

f = list(product('123', repeat=15))
g = set()
for s in tqdm(f):
t = ''.join(s)
if t.count('1') == 4 and t.count('2') == 3 and t.count('3') == 8:
g.add(t)
mx = 0
for i in tqdm(g):
mx = max(fin(i)[0], mx)
# print(i, fin(i)[1], mx)
print(mx)


Спасибо: 0 
Цитата Ответить
Администратор




Сообщение: 2782
ссылка на сообщение  Отправлено: 05.05.21 19:10. Заголовок: Вилена пишет: как вы..


Вилена пишет:
 цитата:
как вы получили ответ 145, не держите в секрете, поделитесь своим решением

 s = '>' + '1'*20 + '3'*40 + '2'*15 + '<' 

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( '><', '', 1 )
print( sum( map(int, s) ) )


___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.05.21 07:56. Заголовок: задача 255, ЕГЭ-12


Благодарю, Константин Юрьевич, не увидела, что предпоследний реплейс меняет не 2 на 2, а 2 на 3. В этом вся соль!!!

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

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