Требуется расшифровать запись сложения двух чисел, в котором цифры заменены буквами, причем разные цифры заменены разными буквами, одинаковые - одинаковыми. Предполагается, что исходное равенство верно и записано по обычным правилам арифметики. В частности, в записи числа первая слева цифра не является цифрой 0; используется десятичная система счисления. Ввести ребус в формате ЧИСЛО+ЕЩЕ=СУММА, вывести в столбик все решения в строковом лексикографическом порядке.

ЧИСЛО+ЕЩЕ=СУММА

29348+767=30115
29368+747=30115
59638+474=60112
59678+434=60112
69714+838=70552
69734+818=70552

Сначала я, конечно, написал решение «в лоб», которое (после ввода и подготовки данных) начиналось строкой

   1 for кодировка in permutations("0123456789", len(алфавит)):
   2 

Этого достаточно, чтобы любой пример решался менее, чем за минуту, но наши лимиты намного жёстче.

Спойлер:

LecturesCMC/PythonIntro2022/Homework_ArithRebus (последним исправлял пользователь FrBrGeorge 2023-01-10 15:34:57)