|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
|||||||||||
Буквометик22.02.2023, 12:27. Показов 3124. Ответов 33
Метки решение задачи (Все метки)
Доброго времени суток. Не могу оптимизировать решение вот такой задачи:
Буквомётики это головоломки, в которых каждой букве надо сопоставить цифру таким образом, чтобы было выполнено предложенное тождество. Например буквомётик, SEND+MORE=MONEY можно решить, если мы сопоставим буквам цифры следующим образом: O - 0, M - 1, Y - 2, E - 5, N - 6, D - 7, R - 8, S - 9 В итоге получим корректное тождество 9567+1085=10652. На вход вашей программе подаётся буквомётик, в котором слева от знака равенства находится сумма двух чисел, а справа - одно число. Вам надо вывести его решение. Обратите внимание, что число не может начинаться с нуля. Решил ее с помощью itertools.permutations, но каждый время выполнения разное (от 0, 1 сек до 109 сек). Код прилигаю
0
|
|||||||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 24.02.2023, 14:01 | |
|
0
|
|
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
||||||
| 25.02.2023, 14:44 [ТС] | ||||||
|
Red white socks , химета тоже не справилась. Падает на 46ом. Полный перебор довел до 9 букв в множестве, после код стала падать из-за превышения лимита времени. Прикладываю тайминги (идут по порядку увелечения букв в множестве полного перебора).
0
|
||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 25.02.2023, 15:14 | |
|
По таймингам попыток за 15 можно восстановить сам этот пример. Но сейчас некогда
1
|
|
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
|
| 25.02.2023, 21:07 [ТС] | |
|
А как это сделать, если не секрет?
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|||||||||||
| 25.02.2023, 22:26 | |||||||||||
|
Сначала определяем размер чисел.
Берем быстрый код, потерял счет версии, но можете первую мою взять, не принципиально И вставляете кусок
Затем заменяем
Тут надо аккуратно, чтобы не получить ошибку отсутствия элемента в списке. Надо запрашивать с индексами 0, 1 или 2, а также -1, -2 и -3. У нас гарантированно длины от 3 до 6, поэтому слово таким образом полностью восстанавливается и не будет ошибок в процессе теста. Не по теме:
1
|
|||||||||||
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
||||||
| 26.02.2023, 12:44 [ТС] | ||||||
|
Red white socks, либо я сделал что то не так, либо яндекс контест умеет обходить подобные приемы. Код выполнялся минут 20 реального времени, но тайминги такие, как будто sleepa нет (первый скрин последних таймингов). Но, если смотреть отчет последних попыток, то там, видимо, время исполнения 46го теста (это точно не сумма времени всех попыток), но и это время какое-то странное (второй скриншот)
0
|
||||||
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
|
| 26.02.2023, 12:52 [ТС] | |
|
Red white socks , еще такой вариант, я попробовал минимальные значения диапозона (100), и код его не проходит. К примеру вот такой вариант: СSS+СSS=BSS (100+100=200). Код должен выдать С 1 S 0 B 2, а выдает -1.
Хотя нет, тогда бы тест прошла химера, т.к. полный перебор этот тест проходит
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,319
|
|||||||||||
| 26.02.2023, 18:05 | |||||||||||
|
VadimK76, Вместо 40-й
0
|
|||||||||||
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
|
| 26.02.2023, 19:28 [ТС] | |
|
Gdez, 46ой не прошел
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||||||
| 26.02.2023, 19:57 | ||||||
Сообщение было отмечено VadimK76 как решение
Решение
VadimK76, на вашем примере стало понятно.
В процедуре check_equal в этом случае не проходит проверку '00' == '0' Сколько уже раз зарекался не сравнивать числа как строки ![]() Вот это должно поправить
1
|
||||||
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
||||||
| 26.02.2023, 20:11 [ТС] | ||||||
|
Red white socks, победа!
Red white socks, спасибо вам большое! Осталось понять ваш код, и задачу можно считать решенной
1
|
||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 26.02.2023, 20:20 | |
|
VadimK76, долгая тяжба получилась из-за кривых рук) Детская ошибка)
0
|
|
|
20 / 1 / 0
Регистрация: 22.02.2023
Сообщений: 16
|
|
| 26.02.2023, 20:24 [ТС] | |
|
Red white socks, мое решение так и не прошло, так что вы себя недооцениваете.
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 26.02.2023, 20:25 | |
|
Обидно, что в первой версии этой функции я приводил все к числам и сравнивал по модулю 10**n, но отказался из-за каких-то уже непонятных соображений
0
|
|
|
Новые блоги и статьи
|
|||
|
Право. Администации порталов. Законы и беззаконие.
Hrethgir 26.06.2026
У меня сейчас так везде по форуму - не могу создавать сообщений, но запись по случаю этому https:/ / www. cyberforum. ru/ blogs/ 223907/ blog10939-page2. html#comments
Hrethgir, не подскажете кто это. . .
|
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем
Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026
. . .
|
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки
План доработки модели динамики микоризных симбиозов (EcM с гистерезисом)
Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
|
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
|
|
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
|
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание:
как одно здание порождает конфликты требований,
которые никто не планировал
Материалы для обсуждения с МГСУ · 2026
Рисунки внутри приложенного ворд файла.
Что за. . .
|
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|