addends складываются, и в сумме получается слово total. Каждое слово записано заглавными латинскими буквами.
Нужно заменить каждую букву цифрой от 0 до 9 так, чтобы:
- одинаковые буквы получили одинаковые цифры, а разные буквы — разные цифры;
- ни одно слово из нескольких букв не начиналось с нуля (слово из одной буквы может быть нулём);
- сумма чисел из addends равнялась числу total.
Цифр всего десять, поэтому ребус, в котором больше десяти различных букв, решения не имеет.
Верните True, если такая замена существует, и False иначе.addends=['TO', 'GO'], total='OUT' → True
Подходит T = 2, O = 1, G = 8, U = 0: 21 + 81 = 102.
addends=['AB', 'AB'], total='AB' → False
Из AB + AB = AB следует AB = 0, но двузначное число не может начинаться с нуля.
addends=['A', 'B'], total='A' → True
Достаточно B = 0, а A — любая другая цифра: однобуквенное слово может обозначать ноль.
addends.length ≤ 5addends[i].length, total.length ≤ 11addends=['TO', 'GO'], total='OUT'
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 150 тестов на сервере, включая скрытые.